我有以下表結構MySQL查詢,使用字段作爲列
+-------+------------+-----------+---------------+
| id |assigned_to | status | group_id |
+-------+------------+-----------+---------------+
| 1 | 1001 | 1 | 19 |
+-------+------------+-----------+---------------+
| 2 | 1001 | 2 | 19 |
+-------+------------+-----------+---------------+
| 3 | 1001 | 1 | 18 |
+-------+------------+-----------+---------------+
| 4 | 1002 | 2 | 19 |
+-------+------------+-----------+---------------+
| 5 | 1002 | 2 | 19 |
+-------+------------+-----------+---------------+
我想獲得的信息的格式如下
+-------+------------+-----------+
| | 1001 | 1002 |
+-------+------------+-----------+
| 1 | 1 | 0 |
+-------+------------+-----------+
| 2 | 1 | 2 |
+-------+------------+-----------+
所以基本上我期待使用分配以字段作爲列名稱。然後這些行代表狀態。因此,例如在表中,我們有兩行用戶1002的狀態爲2,因此總和顯示在該特定狀態行上。
請注意,group_id
必須是19.因此,爲什麼我在我的桌子上排除了id爲3的行。
有人可以指出我在正確的方向。我確定這種類型的查詢有一個名字,但是我不能用我的生活把這個寫成文字。我已經嘗試了各種其他查詢,但他們都沒有接近這個。
這是一個數據透視查詢,而且mysql不支持它們。有解決方法,但查詢變得非常非常難看,非常迅速。在代碼中進行行 - >列轉換,並使用常規查詢。 –
@MarcB感謝您花時間回答。你可以擴展一下這個,或者指向一行關於這一行 - >列轉換的文檔。非常感激。 –
@MarcB有趣的是,我剛剛與Skype上的某個人說過,他們已經完成了這項工作,查詢大概有100行,看起來很糟糕。想想我會走下一條PHP路線。我寧願有一些額外的PHP行,而不是難以管理的不可讀的單個查詢。 –