数据库group相关执行顺序

1.SELECT SUM(zmoney),zname FROM zhangwu GROUP BY zname     

//将zname值相同的归为一组
//sum(zmoney) 对每组中的zmoney求和

2.SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu
WHERE zname LIKE'%支出%'
GROUP BY zname      
//1.先走where:先将所有的支出过滤出来
//2.再走group by:在将所有的支出分组
//3.最后在对每组中的支出求zmoney的和

3.SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu
WHERE zname LIKE'%支出%'
GROUP BY zname
ORDER BY getsum DESC     

//1.先走where:先将所有的支出过滤出来
//2.再走group by:在将所有的支出分组
//3.再走在对每组中的支出求zmoney的和
//4.最后针对每组的zmoney求和结果降序

4.SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu
WHERE zname LIKE'%支出%'
GROUP BY zname
HAVING getsum>5000
//1.先走where:先将所有的支出过滤出来
//2.再走group by:在将所有的支出分组
//3.再走sum(zmoney):对分好组的每组中的zmoney求和
//4.最后 HAVING getsum>5000:过滤出每组求和结果中大于5000

5.SELECT SUM(zmoney)AS 'getsum',zname FROM zhangwu
WHERE zname LIKE'%支出%'
GROUP BY zname
HAVING getsum>5000
ORDER BY getsum DESC      

//1.先走where:先将所有的支出过滤出来
//2.再走group by:在将所有的支出分组
//3.再走sum(zmoney):对分好组的每组中的zmoney求和
//4.再走 HAVING getsum>5000:过滤出每组求和结果中大于5000
//5.针对最终的结果按照getsum 降序排列

6.SELECT sclass,sgender,COUNT(*) FROM student GROUP BY  sclass,sgender

//.如果group by 后面跟多个列 注意会将这些列的组合相同的归为一组
// 将sclass,sgender 值的组合相同的归为一组
 

猜你喜欢

转载自blog.csdn.net/KeThink/article/details/83218282