GROUP BY 是分組查詢使用原則

2021-06-25 14:47:35 字數 1040 閱讀 5474

select depart.departnum,depart.depname,depart.business,company.location from depart,company

where depart.departnum=company.departnum 

and company.location='sh'

and depart.depname='fn'

group by company.name

提示錯誤是not a group by expression

group by 是分組查詢, 一般來說 group by 需要 聚合函式配合使用,假設

使用了group by 按 company.name這個字段分組,當其他字段內容不同,變成一對多時(即使不存在一對多,也將無法顯示,因為資料庫無法預知是否會出現一對多),將無法顯示,如下所示

companyname departname

ms hr

ms fn

ms dep

selectcompanyname,

departname

from table group by

companyname

將無法在一行上顯示,總不能是顯示下面那樣:
companyname  departname

hrms fn

dep

departname如何變成一條記錄,所以往往需要用到聚合函式,比如
select
companyname,count(departname) departnum from table group by 

companyname

結果如下:
companyname  departnum

ms 3

group by 有乙個原則,就是 select 後面的所有列中,沒有使用聚合函式的列,必須出現在 group by 後面

group by分組查詢小結

下面這樣查的話只能查詢到一條記錄 select id groupcode,hotelcode,accountno,reservephone,reservename,roomno,roomtype from res roomresource where id in select min id from...

MySQL之分組查詢(GROUP BY)

在 mysql select 語句中,允許使用 group by 子句,將結果集中的資料行根據選擇列的值進行邏輯分組,以便能彙總表內容的子集,實現對每個組而不是對整個結果集進行整合。語法格式如下 group by asc desc 語法說明如下 注意 group by 子句中的各選擇列必須也是 se...

MySQL如何使用分組group by

背景 一些場景下是需要用到分組資料的,比如剛工作那會兒,有一次的需求是統計某個網點的各個職員關於一項任務的推廣情況。又比如我要統計每個部門的人數有多少。這些都需要用到分組資料,分組資料就要使用group by 那group by 用法簡單來說可以分為兩種,一種是直接分組不新增限制條件,第二種就是加上...