MySQL 的非正統「GROUP BY」查詢方法
與 Oracle 和 SQL Server 不同,MySQL 允許在沒有聚合函數的情況下使用「group by」查詢。這種行為違反了 ANSI-SQL 標準,長期以來一直是混淆的根源。
MySQL 的理由
根據 MySQL 線上手冊(5.0 版),這種非傳統方法的實現基於兩個主要原因:
批評與解決方案
MySQL 的這種方法因不符合 ANSI-SQL 標準而受到批評。為了解決這些問題,MySQL 提供了一個設定參數 only_full_group_by,可以設定為強制執行標準行為。
總結
雖然 MySQL 對「group by」查詢的非傳統處理方式有其缺點,但在效能和便利性方面也提供了優勢。開發人員應該了解這種行為,並謹慎使用它,以確保獲得準確且有意義的結果。
以上是為什麼 MySQL 的「GROUP BY」與標準 SQL 不同?的詳細內容。更多資訊請關注PHP中文網其他相關文章!