數(shù)據(jù)庫多表連接查詢中使用group by分組語句,Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'XXX' which is not functionally dependent on columns in GROUP BY claus
需求描述:
要是用兩表聯(lián)合查詢,并對查詢的結(jié)果進行分組:sql如下:
1 SELECT 2 a.`id`, 3 a.`fr_num`, 4 b.`ent_status` 5 FROM 6 `table1` a 7 LEFT JOIN `table2` b 8 ON b.`fr_id` = a.`id` 9 GROUP BY b.`fr_num`
這樣的sql語句會報錯結(jié)果如下:
Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggregated column 'a.id' which is not functionally dependent on columns in GROUP BY clause; this is incompatible with sql_mode=only_full_group_by.
問題處理:
首先了解一下sql的group by的用法:
1、select后面的查詢字段要么在group by后,要么是聚合函數(shù)
2、如果有條件對結(jié)果進行篩選,有兩種方式:(1) 先使用where + 條件,然后使用group by (2) 先使用group by,然后使用having進行結(jié)果篩選
解決:結(jié)合group by 的使用方法對sql進行改進就ok了~

浙公網(wǎng)安備 33010602011771號