SQL数据库——分组查询GROUPBY ⼀、分组查询GROUP BY
1.语法
SELECT(列名)as'⾃由命名',COUNT(*)as'⾃由命名';
from(表名);
GROUP BY(列名);
2. * 号⾥可以为列名
语法:
SELECT COUNT(列名)as'⾃由命名';
from(表名);
如:
3_1. order by (默认升序)
语法:
SELECT(列名1)as'⾃由命名',AVG(列名2)as'⾃由命名';
from(表名);
GROUP BY(列名1);
order by AVG(列名2);
如:
3_2. order by desc(降序)
语法:
groupby是什么函数SELECT(列名1)as'⾃由命名',AVG(列名2)as'⾃由命名'; from(表名);
GROUP BY(列名1);
order by AVG(列名2)desc;
如:
注意: ORGER BY 放在GROUP BY 之后
4. 多列分组查询
语法:
SELECT COUNT(*)AS'⾃由命名',(列名1)as'⾃由命名', (列名2)as'⾃由命名';
from(表名);
GROUP BY(列名1),(列名2);
order by(列名1);
如:
5. HAVING⼦句分组筛选
5_1.在SELECT语句中,WHERE 、GROUP BY、HAVING⼦句和聚合函数的执⾏次序
HAVING和WHERE⼦句可以在同⼀个SELECT语句中⼀起使⽤,顺序
WHERE------GROUP BY------HAVING
在SELECT语句中,WHERE、GROUP BY、HAVING⼦句和聚合函数的执⾏次序如下:
Where语句从数据源中去掉不和其搜索条件的数据;
Group by⼦句搜集数据⾏到各个组中,统计函数为各个组计算统计值;
Having⼦句去掉不符合其组搜索条件的各组数据⾏。
5_2.语法:
SELECT COUNT(*)AS'⾃由命名',AVG(列名)as'⾃由命名';
from(表名);
where(规定范围(<,>,<=,>=));
GROUP BY(列名);
HAVING(AVG(列名)后接范围(<,>,<=,>=));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论