首先介绍一下 Group by,Group by是用来进行分组查询的。having是用来对Group by 查询的结果进行筛选的相当于where
那么什么情况下用Group by?
在sql语句中有些函数,叫聚合函数:sum,count,avg,min,max,在这些方法使用时要使用Group by。
唔~不明白?没事,我也不大懂,举个栗子:
这是个te表
现在我做个查询:查找男的GZ:
SELECT GZ FROM te WHERE XB='男'
然后再做个查询:查找男的GZ总和:
SELECT SUM(GZ) as JE FROM te WHERE XB='男'
然后做个什么?就做个查询男女GZ分别的总和:
SELECT XB,SUM(GZ) as JE FROM te GROUP BY XB
还不够刺激?那么条件再多点:查询XM为z的人的GZ总和:
SELECT XM,SUM(GZ) as JE FROM te GROUP BY XM HAVING XM='z'
根据XM,XB进行分组查询获得sum(GZ)的值:
SELECT XM,XB,SUM(GZ) FROM te GROUP BY XM,XB
暂时就这么多吧,当我什么时候碰到多表的时候再来补充多表的。