0
所以我們可以說我有兩個表:SQL:按列分組,同時顯示其他列條目
name_tbl
| INIT | NAME |
| JA | Jack |
| JO | John |
| MI | Michael |
| GE | George |
| WI | William |
| BL | Blake |
| PE | Peter |
ranking_tbl
| YEAR | INIT | RANKING
| 1990 | JA | 5
| 1990 | JO | 22
| 1990 | PE | 54
| 1992 | MI | 2
| 1992 | JA | 14
| 1993 | GE | 1
| 1994 | JO | 8
我想按年份分組,並dis發揮當年的最高排名,以及當年排名最高的人的名字。
我能夠顯示年份和排名輕鬆通過使用聚合函數的排名和按年分組。然而,我在解決如何顯示最高級別的名稱時遇到了問題。
到目前爲止,我寫了下面的SQL:
SELECT r.year, min(r.ranking)
FROM RANKING_TBL r
GROUP BY r.year
我試圖內加入其他表,並選擇該名稱,但它返回我一個錯誤說我必須包含它在聚合函數,或者在GROUP BY子句中......
SELECT r.year, min(r.ranking), n.name
FROM ranking_tbl r
INNER JOIN name_tbl n
ON r.init = n.init
GROUP BY r.year