根据by对数据按照哪个字段进行分组,或者是哪几个字段进行分组
1、单字段分组
select grade from student group by grade 查出学生等级的种类(按照等级划分,去除重复的)
2、 多个字段分组
select name , sum(score) from student group by name , grade 按照名字和等级划分,查看相同名字下的分数总和
注意:多个字段进行分组时,需要将name和grade看成一个整体,只要是name和grade相同的可以分成一组;如果只是name相同,grade不同就不是一组。
3、配合聚合函数一起使用
3-1、count():计数 查看表中相同dr_id 下 ds的个数
SELECT dr_id ,ds FROM study WHERE ds <= '20210621' AND ds > '20210520'and dr_id='193589';
查出结果是:8条记录
用 group by dr_id=193589,有8人
SELECT dr_id
,COUNT(DISTINCT ds) AS online_30d
FROM alihealth_dw.dwd_alihosp_dr_online_df
WHERE ds <= '20210621'
AND ds > '20210520'
AND is_online_1d = 'Y'
and dr_id='193589'
GROUP BY dr_id;
3-2、sum():求和
select name , sum(salary) from student group by name 查看表中人员的工资和(同姓的工资相加)