SQL 之 Group By

SQL 之 Group By

Group By從字面意義上理解就是根據By指定的規則對數據進行分組,所謂的分組就是將一個數據表劃分紅若干個小區域mysql

例如有這麼一張表sql

在執行group by 類別操做以後表就變成了這種形式函數

無標題文檔
類別
a
數量 摘要
5 a2002
2 a2001
11 a2001
b
數量 摘要
10 b2003
6 b2002
3 b2001
c
數量 摘要
9 c2005
9 c2004
8 c2003
7 c2002
4 c2001

由於是按照類別進行分組,因此分組後的表中就只剩下字段類別了,其餘的字段所有被保存在中。
spa

注意:中的字段是沒法被SELECT關鍵字訪問的,若是訪問了就會出錯。server

例如:  Select 數量 from test group by 類別;

這時軟件就會提示——(在sql server中是這樣的,在mysql中是隨便列出組中的一列)
選擇列表中的列 '數量' 無效,由於該列沒有包含在聚合函數或GROUP BY 子句中。

由於數量摘要字段都在組中,SELECT關鍵字找不到這兩個字段,因此就會出錯。

若是隻是查詢 類別就不會出現問題,由於 類別不在組中,因此SELECT關鍵字就能夠找到該字段。utf-8

相關文章
相關標籤/搜索