GROUP BY ROLLUP (A,B,C) HAVINg A IS NOT NULL AND D NOT

学习 时间:2026-03-30 15:01:06 阅读:9720
GROUP BY ROLLUP (A,B,C) HAVINg A IS NOT NULL AND D NOT

最佳回答

时尚的云朵

殷勤的戒指

2026-03-30 15:01:06

GROUP BY子句里面的ROLLUP,此选项对GROUP BY 子句中的列顺序敏感,它只返回第一个分组条件指定的列的统计行。改变列的顺序会使返回的结果的行数发生变化。也就是说ROLLUP(A,B,C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。【另外一个GROUP BY子句的类似参数是CUBE,如果是GROUP BY CUBE(A,B,C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行GROUP BY操作。】 HAVINg子句的话你可以理解为GROUP BY子句的where子句,起筛选作用的,就是先分组,然后只取A IS NOT NULL AND D NOT NULL的行。

最新回答共有2条回答

  • 酷炫的缘分
    回复
    2026-03-30 15:01:06

    GROUP BY子句里面的ROLLUP,此选项对GROUP BY 子句中的列顺序敏感,它只返回第一个分组条件指定的列的统计行。改变列的顺序会使返回的结果的行数发生变化。也就是说ROLLUP(A,B,C)的话,首先会对(A、B、C)进行GROUP BY,然后对(A、B)进行GROUP BY,然后是(A)进行GROUP BY,最后对全表进行GROUP BY操作。【另外一个GROUP BY子句的类似参数是CUBE,如果是GROUP BY CUBE(A,B,C),则首先会对(A、B、C)进行GROUP BY,然后依次是(A、B),(A、C),(A),(B、C),(B),(C),最后对全表进行GROUP BY操作。】 HAVINg子句的话你可以理解为GROUP BY子句的where子句,起筛选作用的,就是先分组,然后只取A IS NOT NULL AND D NOT NULL的行。

上一篇 E开头的英文名帮我取个女生英文名,我名字拼音是YU TING ,帮我取个跟婷发音相似的英文名来,我喜欢E、M、T开头~不

下一篇 傅雷推荐傅聪看“毛选”中的哪两本书,这两本书对傅聪有什么帮助?