我有這個疑問:如何重寫此MySQL查詢以返回計數?
SELECT accounts.id
FROM accounts
LEFT JOIN account_properties ON account_properties.account_id = accounts.id
GROUP BY accounts.id
HAVING COUNT(account_properties.id) = 0
它返回它的帳戶沒有任何帳戶屬性的所有帳戶ID的列表。我怎樣才能得到沒有財產的所有帳戶的數量?
SELECT COUNT(accounts.id)
FROM accounts
LEFT JOIN account_properties ON account_properties.account_id = accounts.id
GROUP BY accounts.id
HAVING COUNT(account_properties.id) = 0
這不起作用,只返回1的列表。
謝謝。首先使用GROUP BY/HAVING檢索感覺錯誤的ID。這好多了。不知道有關檢查是否有任何列已加入的IS NULL技巧。 – Aich
是的,這就是我的意思 –
@Aich我的榮幸..這是相當普遍的。如果你需要,不要害怕用一個計數來包裝一個查詢。如果這是你正在與...正在接受答案。 – Arth