我有用戶及其生日的列表。我需要打印每個月的生日列表並按天分組。例如:按月分組生日結果
週一24(2):Herpina Derpina,李四
週二第27(1):尼古拉斯·凱奇
週五28(1):邁克爾·傑克遜
我怎麼能實現只需一個SQL調用?如果我以這種方式對他們進行分組,我將會丟失記錄:
SELECT COUNT(*) FROM user GROUP BY MONTH(birthday)
任何想法? (我正在使用mysql + php)
我有用戶及其生日的列表。我需要打印每個月的生日列表並按天分組。例如:按月分組生日結果
週一24(2):Herpina Derpina,李四
週二第27(1):尼古拉斯·凱奇
週五28(1):邁克爾·傑克遜
我怎麼能實現只需一個SQL調用?如果我以這種方式對他們進行分組,我將會丟失記錄:
SELECT COUNT(*) FROM user GROUP BY MONTH(birthday)
任何想法? (我正在使用mysql + php)
您無法獲得聚合函數的計數和相同查詢中的詳細記錄。如果名稱是必需的,那麼您將不得不手動構建PHP中的計數,然後以所需的格式顯示記錄。
SELECT MONTH(birthday) month,
FORMAT(birthday, '%W %D') day,
COUNT(user) count,
GROUP_CONCAT(user SEPARATOR ',') users
FROM table
GROUP BY MONTH(birthday), FORMAT(birthday, '%W %D')
但這不會帶來所有的名字:s – andufo 2011-04-11 00:00:04
你是對的。我在PHP方面實現了一個解決方案。謝謝。 – andufo 2011-04-12 04:03:55