無憂炎武大帝 2018-08-01 15:33 采纳率: 50%
浏览 1324
已结题

MySQL中的WITH ROLLUP疑问

版本: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”,如下图,
图片说明

还请高手赐教为何有这样的区别,多谢!

  • 写回答

4条回答 默认 最新

  • devmiao 2018-08-01 15:54
    关注
    评论

报告相同问题?