注意:SELECT 和 GROUP BY 后面的列名是相同的。
这个语句的执行顺序为:FROM->WHERE->GROUP BY->SELECT
-
对分类汇总结果进行重命名并排序
SELECT 列名 ,COUNT(列名) AS 自定义列名 FROM 表名 GROUP BY 列名 ORDER BY 自定义名称;
例:对销售数据进行分类汇总并重命名排序
SELECT 商品名 ,
COUNT(销量)AS '各商品销售情况'
FROM 表名
GROUP BY 商品名
ORDER BY '各商品销售情况' ;
- 结合多个函数进行分类汇总
例:某公司最高薪酬为30K-20K,最低薪酬为5K-10K,对最提取最高薪酬的30,提取最低薪酬的5和,分别求平均值,并分别命名为平均最高薪酬,平均最低薪酬,对平均值不保留小数位,最终结果需要显示出公司名、平均最高薪酬、平均最低薪酬,并按公司名进行分类汇总,按最高平均薪酬排序
SELECT 公司名称 ,
ROUND(AVG(REPLACE(SUBSTR(最高薪酬,1,3),'K',' ')),0) AS '平均最高薪酬' ),
ROUND(AVG(REPLACE(SUBSTR(最低薪酬,1,3),'K','')),0) AS '平均最低薪酬'
FROM 表名
GROUP BY 列名
ORDER BY '平均最高薪酬'
遇到问题:一个表中的一个字段表示行业分类(该字段是个代码值,如10100代表大类[农、林、牧、渔业],0101,0102,0103,0104分别代表小类[农业,林业,畜牧业,渔业]),现在需要根据行业大类分组,统计各行业的人数。
行业代码表如下:
select * from gyr*****_d_hylb
以一种有意义的方式组织数据可能是一项挑战。有时你需要的可能是一个简单的排序,但是通常你需要做更多,你需要分组来进行分析和统计。幸运的是,SQL提供了大量语句和操作来进行排序,分组和摘要。下面的一些技巧将会帮助你识别什么时候排序,什么时候分组,什么时候以及如何统计。对要每条语句和操作的详细信息请查看Books Online。 1.使用排序使数据有序 通常,你的所有数据真正需要的仅仅是按
SELECT
sum(case when `EmailSource`='FM' then 1 else 0 end) as FM_Statistic,
sum(case when `EmailSource`='UOC' then 1 else 0 end) as...
使用grouping这个函数发现一直报错提示无法识别,仔细观察一下原来这是sql的语法,难道MySQL就实现不了了吗?没办法只得自己想办法了,我首先想到的方法是使用带条件的子查询,输出到最后一条数据时显示“总计”字段,但又嫌太复杂没有写。=”、“>”、“>=”、“
SELECT COUNT(0),SUBSTRING_INDEX(字段名,',',-1) FROM 表名
WHERE 字段名 IS NOT NULL GROUP BY SUBS...
介绍如何在 SQL 中利用聚合函数、GROUP BY 子句的 ROLLUP、CUBE 和 GROUPING SETS 选项以及 CASE 表达式实现类似 Excel 数据透视表的功能,通过展开、折叠、筛选、行列转换等操作得到不同层次和视角的数据小计/合计/总计。本文涉及的数据库包括 Oracle、MySQL、SQL Server 以及 PostgreSQL。
1.汇总分析学习: 1.1 如何计算每门课程的平均成绩 select 课程号,avg(成绩) from score group by 课程号; 1.2如何计算每门课程的平均成绩,并且平均成绩大于等于80分 select 课程号,avg(成绩) from score group by 课程号 having avg(成绩) >= 80; 1.3对查询结果排序: order by ...
首先,说下思路。错误的思路:select * from hxtz_ywxx where
YQ = 1
AND ny '2017-01-03' group by KSDM 很显然这样错了。Order
by 实质把
mysql sql归类
SQL Server collation refers to a set of character and character encoding rules, and influences how information is stored according to the order in the data page, how data is matched b...