group by分組查詢小結

2022-02-20 05:03:11 字數 1105 閱讀 6290

下面這樣查的話只能查詢到一條記錄

select id , groupcode,hotelcode,accountno,reservephone,reservename,roomno,roomtype from res_roomresource

where id in (select min(id) from res_roomresource where groupcode='0001' and hotelcode='021002' group by reservephone,id)

and reservephone='18537693630';--min(id) 或者max(id)

補充:

1.對於表ta中存在主鍵id,所以可利用主鍵id來查詢:

select id , code , value , desc , date form ta where id in (select min(id) from ta group by code , value) ;

2.對於表tb中,表不存在主鍵,則查詢方式為:

select min(id) id, code , value , min(desc) desc ,min( date) date from ta group by code , value ;

總結:方式1一般都適用 於單錶的查詢,因為一般建表的時候都會建主鍵;對於檢視,聯查的時候,方式一可能就不合適了,就可以用方式2

MySQL之分組查詢(GROUP BY)

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

GROUP BY 是分組查詢使用原則

select depart.departnum,depart.depname,depart.business,company.location from depart,company where depart.departnum company.departnum and company.locat...

mysql查詢group by分組最新記錄資料

先group by得到分組每乙個的max id 即是最新記錄,之後通過inner join關聯得到最新記錄表。執行效率 0.031 sec select b.from table name b inner join select max id as id from table name group ...