我管理登記制度,人們可以在那裏爲一療程註冊,和我有以下查詢計算的一些統計數據:SQL是否可以將組合,計數和區分?
SELECT p.id_country AS id, c.name, COUNT(p.id_country) AS total
FROM participants p
LEFT JOIN countries c ON p.id_country = c.id
WHERE p.id_status NOT IN (3,4,13,14)
GROUP BY p.id_country
ORDER BY total DESC
此查詢工作正常,那就說明我到底每個國家參加的人數。 現在我們的系統可以註冊多個課程,並且每次註冊時都會在參與者表中插入一個新行。我知道,這不是理想的情況下,只可惜爲時已晚,現在要改變這種權利。如果參與者註冊了第二(或第三,第四等)課程,則他使用相同的電子郵件地址。所以在參與者表中,同一個電子郵件地址可以在那裏多次。
什麼,我想要做的就是改變這個查詢,以便它考慮到了每一個電子郵件地址只能使用一次的帳戶。該字段只是p.email,我想我應該用DISTINCT做些事情來實現這一點。但無論我嘗試什麼,它都會給我帶來非常奇怪的結果或錯誤。
是否可以這樣做?
這似乎這樣的伎倆,謝謝:) –