0
我正在參加一門關於MySQL的coursera在線課程。在其中一個練習中,我必須MySQL:分組條款
「編寫一個查詢,輸出美國州和郵政編碼(郵政編碼)的每個組合中唯一User_Guids的總數,首先按狀態名稱按字母升序排序順序,第二通過降序排列獨特User_Guids」
總數所以我寫了這樣的代碼:
SELECT state, zip, COUNT(DISTINCT user_guid) AS NUM_Users
FROM users
WHERE Country="US"
GROUP BY zip
ORDER BY State ASC, NUM_Users DESC;
,並在我的回答得到5027行。
正確的代碼是一個明顯的例外是相同的:
GROUP BY State, zip
它得到5043行。
我很困惑。爲什麼我的代碼不工作並給出正確答案?
謝謝!
group by state。你選擇國家,但由國家 –
組,因爲有郵政編碼,可在多個國家? – Jens
第一個GROUP BY無效,將在舊版本的MySQL中返回不可預知的結果,將在新版本中引發錯誤(除非在兼容模式下)。一般的GROUP BY規則表示:如果指定了GROUP BY子句,則每個列引用在SELECT列表中必須標識分組列或者是設置函數的參數! – jarlh