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