我習(xí)慣了Microsoft技術(shù),包括SQL Server。今天我遇到了一個Q&A,其中引用了MySQL文檔中的以下段落:標(biāo)準(zhǔn)SQL會拒絕您的查詢,因為您無法在聚合查詢中選擇不屬于GROUP BY子句的非聚合字段。MySQL擴展了GROUP BY的使用,因此選擇列表可以引用GROUP BY子句中未命名的非聚合列。這意味著前面的查詢在MySQL中是合法的。您可以通過避免不必要的列排序和分組來使用此功能來獲得更好的性能。但是,當(dāng)GROUP BY中未命名的每個非聚合列中的所有值對于每個組都相同時,這非常有用。服務(wù)器可以自由選擇每個組中的任何值,因此除非它們相同,否則所選的值是 不確定的。如果它與SQL標(biāo)準(zhǔn)沖突,這個MySQL擴展的原因是什么?
添加回答
舉報
0/150
提交
取消