GROUP BY 语句用于结合合计函数,根据一个或多个列对结果集进行分组。
接下来以user用户表为示例
未分组前:
SELECT userID,userName,userPasswd from user ;
分组后:
SELECT userID,userName,userPasswd from user GROUP BY userPasswd;
由于是以用户密码列分组作为结果集,相同密码信息的结果集只会显示一部分
那么,相同密码的信息个数有多少呢,示例如下:
SELECT userID,userName,userPasswd,COUNT(*) as count from user GROUP BY userPasswd;
这样的操作具体有什么用呢?小伙伴们可以参考打卡签到和未签到人数的快速查看
前面有说过group by可以通过多列分组作为结果,那么我们以user ID来再次分组,看看结果如何。
SELECT userID,userName,userPasswd,COUNT(*) as count from user
GROUP BY userPasswd,userID;
大家会发现这样是不是没有分组,那是什么原因呢,原因在于userID是唯一的,如果user ID换成性别userType结果会如何,我们加上一列userType数据
SELECT userID,userName,userPasswd,userType,COUNT(*) as count from user
GROUP BY userPasswd,userType;
从上面操作我们可以看出,按userPasswd和userType分组会多出几组数据,这种操作有什么用呢?小伙伴们可以参考是否签到和是否请假的人数统计
从上面的操作,我们可以看出,如果不进行排序操作,就会默认第一组升序排序,那么我们交换下位置看看是否如此吧
SELECT userID,userName,userPasswd,userType,COUNT(*) as count from user
GROUP BY userType,userPasswd;
以上就是今天讲解group up操作语句的所有内容了。