我認爲從我擁有的表格開始,我想要的結果是最簡單的。count rows where date is equal but but name by
Name | Date
A | 03/01/2012
A | 03/01/2012
B | 02/01/2012
A | 02/01/2012
B | 02/01/2012
A | 02/01/2012
B | 01/01/2012
B | 01/01/2012
A | 01/01/2012
我想我的查詢結果是:
Name | 01/01/2012 | 02/01/2012 | 03/01/2012
A | 1 | 2 | 2
B | 2 | 2 | 0
所以基本上我想算具有相同日期的行數,但對於每一個人的名字。所以一個由日期組成的簡單羣組將不會執行,因爲它會將這些名稱合併在一起。然後我想輸出一個表格,顯示使用php的每個日期的計數。
我已經看到了答案建議是這樣的:
SELECT
NAME,
SUM(CASE WHEN GRADE = 1 THEN 1 ELSE 0 END) AS GRADE1,
SUM(CASE WHEN GRADE = 2 THEN 1 ELSE 0 END) AS GRADE2,
SUM(CASE WHEN GRADE = 3 THEN 1 ELSE 0 END) AS GRADE3
FROM Rodzaj
GROUP BY NAME
所以我想會有一個辦法,我調整這一點,但我不知道是否有另一種方式,或者是最有效的? 我也許在想,如果while循環每次只輸出一個特定的名字和日期,那麼第一個結果就是A,01/01/2012,1,1下一個A,02/01/2012 ,2 - A,03/01/2012,3 - B,01/01/2012,2等等,那麼也許這將是可行的通過一種不同的技術,但不知道如果這樣的事情是可能的,如果它是有效的。
所以我基本上看看是否有人有任何想法,這是有點超出這個盒子,他們將如何比較。
我希望我解釋得很好,並提前感謝您的幫助。
SAME PROBLEM ---------------- >> http://stackoverflow.com/questions/14805851/mysql -sum-column-values-based-on-the-the-the-table – Smoke 2014-06-16 09:18:50