我有類似下面的數據庫:如何在使用GROUP BY時獲取所有行?
id | col_1 | col_2
------------------
1 | a | x
2 | a | x
3 | b | x
4 | b | z
5 | c | x
我想拿到賽COL_2 = x加COL_1的頻率,由頻率排序的所有行。例如,輸出將是:
id | col_1 | col_2 | freq
-------------------------
1 | a | x | 2
2 | a | x | 2
3 | b | x | 1
5 | c | x | 1
我已經試過各種查詢,但因爲我使用GROUP BY獲得的頻率,我無法獲得各行(因爲我希望每個ID)。例如:
SELECT *, COUNT(col_1) AS freq
FROM mytable WHERE col_2 = x
GROUP BY col_1
ORDER BY freq DESC
不幸的是,這並沒有給我所有的行。它留下id = 2。任何幫助將不勝感激!
謝謝!
@jeremytwfortune我們不知道OP需要什麼,也許他需要在網格中顯示結果。但是,你可以有相同的計數()結果 –
OP明確表示他希望在輸出中有'id'。你的解決方案不會這樣做。 –
@jeremytwfortune,OP確實提供了清晰顯示'id'和'count'的所需輸出。一起。這纔是重點。它不僅僅是一個簡單的「分組」。 –