版本:mysql V 8.0.12 for Win64 on x86_64 (MySQL Community Server - GL)
表:std_2
sno | sname | sage |
1001 | zhangsan1 | 19 |
1002 | zhangsan2 | 21 |
1003 | zhangsan3 | 21 |
1004 | zhangsan4 | 21 |
1005 | zhangsan5 | 18 |
1006 | zhangsan6 | 23 |
1007 | zhangsan7 | 22 |
1008 | zhangsan8 | 22 |
1009 | zhangsan9 | 23 |
1010 | zhangsan10 | 21 |
对sage进行分类组合,10 ~ 19岁一个区间(2),20 ~ 29岁一个区间(8),并求总数(10):
SELECT FLOOR(sage/10)*10 AS age_area, COUNT(FLOOR(sage/10)) AS area_count FROM std_2 GROUP BY FLOOR(sage/10) WITH ROLLUP;
结果为下图,为何最后一行第一列不是“NULL”呢?
另发现,如果在“FLOOR(sage/10)*10”处去掉“*10”,结果对应位置倒是“NULL”,如下图,
还请高手赐教为何有这样的区别,多谢!