我的表是這樣的:像「group by」這樣的列?
+----+---------+---------+--------+
| id | value_x | created | amount |
+----+---------+---------+--------+
value_x設置六根弦的,可以說「一」,「二」,「三」等 我需要建立這樣的報告:
+--------------+-------------------------+-------------------+----------------------+
| day_of_month | "one" | "two" | [etc.] |
+--------------+-------------------------+-------------------+----------------------+
| 01-01-2011 | "sum(amount) where value_x = colum name" for this specific day |
+--------------+-------------------------+-------------------+----------------------+
最明顯的解決方案是:
SELECT SUM(amount), DATE(created) FROM `table_name` WHERE value_x=$some_variable GROUP BY DATE(created)
環這個查詢六次,在每次迭代$some_variable
另一個價值,但我courious如果有可能在單個查詢中做到這一點?
這是一個可能的重複的這個問題http://stackoverflow.com/questions/4943496/transpose-rows-into-columns-in-mysql –
一個更簡單的解決方案將不是以這種方式存儲您的數據。如果「一」,「二」,「三」等都表示相同的數據,它們應該在同一個字段中。 – JNK
確定的問題不是重複的。這是關於GROUP_CONCAT,這是一個數據透視表。 –