结合合计函数,根据一个或多个列对结果集进行分组,说白了就是将重复值进行合并html
FROM table_1,table_2 GROUP BY column_1,column_2 ORDER BY column_1,column_2
SELECT Customer,SUM(OrderPrice) FROM Orders Group by Customer;
注:函数
GROUP BY子句必须知足必定的条件,SELECT 语句里列出的所有字段,除了汇总字段(使用汇总函数的)以外,所有都要出如今GROUP BY里,code
可是顺序无所谓htm
--根据YEAR进行分组,与order by 相似 SELECT YEAR(DATE_HIRE) AS YEAR_HIRED,SUM(SALARY) FROM TABLE_NAME GROUP BY 1;
SELECT column1,column2 FROM table_name --GROUP BY在运行的时候先将按照column2排序在,按照column2排序,而后再进行组合 GROUP BY column2,column1 --ORDER BY只是纯粹的排序,将按照column1,colum2排序 ORDER BY column1,column2
GROUP BY子句可用在CREATE VIEW 语句里进行数据排序,而ORDER BY子句不行。blog
SQL 中ROLLUP 用法 - o(∩_∩)o... - 博客园 排序
HAVING子句在SELECT语句里与GROUP BY联合使用,用于告诉GROUP BY子句在输出里包含哪些组,get
有点相似SELECT 中的WHERE条件语句,使用HAVING子句能够让结果里包含或是去除整组的数据博客
SELECT column_name,aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVing aggregate_function(column_name) operator value
5io