2
我有一個臨時表導致這個充滿GROUP BY錯誤 -爲了和SELECT子句
number contact_id email email_id
8 204 [email protected] 185
8 205 [email protected] 186
我需要獲取結果與email
列分組查詢。
當我嘗試這一點 -
SELECT number, contact_id, email_id
FROM contact
GROUP BY email
ORDER BY contact_id, email_id
它給出了一個FULL_GROUP_BY
誤差
SELECT列表是不是在GROUP BY子句中包含非聚合列...
當我修改select子句以使用ANY_VALUE
關鍵字作爲
SELECT ANY_VALUE(number), ANY_VALUE(contact_id), ANY_VALUE(email_id)
它給出了一個誤差 - ORDER BY子句的
表達#1不處於GROUP BY子句和包含非聚集列「CONTACT_ID」,這並不功能取決於由子句中組的列;這是不符合sql_mode = only_full_group_by
有沒有什麼辦法可以將結果分組email
並只返回一行?
如任
8 204 [email protected] 185`
OR
8 205 [email protected] 186
注:我需要做的啓用(MySQL的5.7+)此一致only_full_group_by
模式。我也無法刪除任何order_by
條款。
使用'SELECT號,CONTACT_ID,EMAIL_ID,電子郵件,聯絡小組的電子郵件ORDER BY CONTACT_ID,email_id' – RJParikh
謝謝,但在選擇列表中沒有組將錯誤由作爲CONTACT_ID是不是在GROUP BY,如果我們這樣做 - 它會導致這兩個行,我想要任何一行被返回 – jitendrapurohit
使用:'SELECT min(number),email FROM contact GROUP BY email ORDER BY contact_id,email_id' – RJParikh