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操作语句的所有内容了。
GROUPBY语句用于结合合计函数对数据进行分组,本文通过用户表示例,演示了未分组与分组后的查询效果。通过COUNT(*)展示相同密码用户的数量,进一步解释了多列分组的应用,如查看签到和请假人数统计。最后讨论了分组后的排序问题。GROUPBY操作对于数据分析和信息统计至关重要。
5万+





