MEDIAN()

函数说明

MEDIAN() 用于返回一组数值的中值,即将一组数值排序后返回居于中间的数值。如果参数集合中包含偶数个数值,该函数将返回位于中间的两个数的平均值。可以将其用作聚合或分析函数。

函数语法

  1. > MEDIAN(expr)

参数释义

参数说明
expr必要参数。指定要求中值的数组名称,参数类型属于数值数据类型或可以隐式转换为数字数据类型。

返回类型

该函数返回与参数的数值数据类型相同的数据类型。

示例

  1. mysql> select median(null);
  2. +--------------+
  3. | median(null) |
  4. +--------------+
  5. | NULL |
  6. +--------------+
  7. 1 row in set (0.00 sec)
  8. drop table if exists t1;
  9. create table t1 (a int,b int);
  10. insert into t1 values (1,null);
  11. mysql> select median(b) from t1;
  12. +-----------+
  13. | median(b) |
  14. +-----------+
  15. | NULL |
  16. +-----------+
  17. 1 row in set (0.01 sec)
  18. insert into t1 values (1,1);
  19. mysql> select median(b) from t1;
  20. +-----------+
  21. | median(b) |
  22. +-----------+
  23. | 1 |
  24. +-----------+
  25. 1 row in set (0.01 sec)
  26. insert into t1 values (1,2);
  27. mysql> select median(b) from t1;
  28. +-----------+
  29. | median(b) |
  30. +-----------+
  31. | 1.5 |
  32. +-----------+
  33. 1 row in set (0.01 sec)
  34. mysql> select median(b) from t1 group by a order by a;
  35. +-----------+
  36. | median(b) |
  37. +-----------+
  38. | 1.5 |
  39. +-----------+
  40. 1 row in set (0.00 sec)
  41. insert into t1 values (2,1),(2,2),(2,3),(2,4);
  42. mysql> select median(b) from t1 group by a order by a;
  43. +-----------+
  44. | median(b) |
  45. +-----------+
  46. | 1.5 |
  47. | 2.5 |
  48. +-----------+
  49. 2 rows in set (0.01 sec)