數據排序與分組

  • 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

相關文章
相關標籤/搜索