数据排序与分组

  • GROUP BY

结合合计函数,根据一个或多个列对结果集进行分组,说白了就是将重复值进行合并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;

 

  • GROUP BY 与 ORDER BY的排序介绍
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函数

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

相关文章
相关标签/搜索