数据库 GROUP BY 操作

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操作语句的所有内容了。

 

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值