我有一個視頻網站,我打存儲在統計數據表是這樣的:MySQL的數量多列
+------------+------------------+------+-----+-------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+-------------------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| user_id | int(10) unsigned | NO | MUL | NULL | |
| video_id | int(10) unsigned | NO | MUL | NULL | |
| user_agent | varchar(500) | NO | | NULL | |
| ip | varchar(255) | NO | | NULL | |
| date_add | timestamp | NO | MUL | CURRENT_TIMESTAMP | |
+------------+------------------+------+-----+-------------------+----------------+
我想統計顯示,每天(像2012-02-14: 5000 web views, 850 iphone views
),像這樣:
+---------------------+---------+---------------+
| date | web | iphone |
+---------------------+---------+---------------+
| 2012-02-09 | 500 | 478 |
| 2012-02-10 | 2377 | 204 |
| 2012-02-12 | 247 | 21 |
| 2012-02-13 | 4879 | 236 |
| 2012-02-14 | 8767 | 101 |
+---------------------+---------+---------------+
iPhone用戶ID是2422
,其他人是網絡用戶。
對不起我的英文不好。
這基本上是一個交叉表,並且不容易處理基本的sql。除非您需要在原始查詢結果中看到這種輸出,否則最好是通過查詢進行規則的普通「分組」,然後在客戶端進行轉換。 – 2012-02-14 19:57:34
你的桌子對我來說沒有意義。請解釋欄目。 id,date_id和ip似乎很明顯,但其他3需要一些解釋。 – DwB 2012-02-14 19:59:26
您的輸出顯示的是什麼,每日web用戶數量和iphone用戶數量。或者它應該是'Date,Video_id,web_viewers,IPhone_Viewers' – 2012-02-15 07:50:11