Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/58.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 以中位数计算_Mysql_Median - Fatal编程技术网

Mysql 以中位数计算

Mysql 以中位数计算,mysql,median,Mysql,Median,如何计算每种代码每年的中位数。 以下是mysql表: tbl_销售: 手动计算中间值: 如何在sql中以这种方式显示:432=>8 谢谢大家! 查询的核心是(显然?): 从这里开始,我将在应用程序代码中处理其余部分。您可以在SQL中计算中间值,但不能不进一步点击数据库,当您已经在这个结果中获得了执行计算所需的所有信息(行数和中间行的值)时,这似乎很乏味。可能的重复事实上,cod始终是相同的值,但是如果它发生变化,您没有说明应该如何管理它。也就是说,无论如何,修复是微不足道的。另外,礼貌一点对你也

如何计算每种代码每年的中位数。 以下是mysql表:

tbl_销售:

手动计算中间值:

如何在sql中以这种方式显示:432=>8


谢谢大家!

查询的核心是(显然?):


从这里开始,我将在应用程序代码中处理其余部分。您可以在SQL中计算中间值,但不能不进一步点击数据库,当您已经在这个结果中获得了执行计算所需的所有信息(行数和中间行的值)时,这似乎很乏味。

可能的重复事实上,cod始终是相同的值,但是如果它发生变化,您没有说明应该如何管理它。也就是说,无论如何,修复是微不足道的。另外,礼貌一点对你也有好处。
+-----+------+------+------+
| cod | cant | mont | year |
+-----+------+------+------+
| 432 |   1  |   10 | 2012 |
| 432 |   2  |   10 | 2012 |
| 432 |   4  |   10 | 2012 |
| 432 |   2  |   3  | 2012 |
| 432 |   3  |   2  | 2016 |
| 432 |   2  |   1  | 2016 |
| 432 |   8  |   8  | 2017 |
+-----+------+------+------+
+------+---+---+---+---+---+---+---+---+---+----+----+----+-------+
| year | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | TOTAL |
+------+---+---+---+---+---+---+---+---+---+----+----+----+-------+
| 2012 |   |   | 2 |   |   |   |   |   |   |  7 |    |    |   9   |
| 2016 | 2 | 3 |   |   |   |   |   |   |   |    |    |    |   5   |
| 2017 |   |   |   |   |   |   |   | 8 |   |    |    |    |   8   |
+------+---+---+---+---+---+---+---+---+---+----+----+----+-------+

MEDIAN (5,8,9) = 8
SELECT year,SUM(cant) total FROM my_table GROUP BY year ORDER BY year;