【发布时间】:2014-12-03 08:49:44
【问题描述】:
SELECT
tbl_team.te_name,
tbl_player.pl_name,
tbl_scorer.sc_time
FROM
tbl_scorer
INNER JOIN tbl_team on tbl_scorer.sID_team = tbl_team.pID_team
INNER JOIN tbl_player on tbl_scorer.sID_player = tbl_player.pID_player
INNER JOIN tbl_games on tbl_scorer.sID_game = tbl_games.pID_game
WHERE tbl_games.pID_game = 9
这给了我类似的东西
+-------+----------+---+
| TeamA | PlayerAA | 4 |
+-------+----------+---+
| TeamB | PlayerBA | 4 |
+-------+----------+---+
| TeamB | PlayerBB | 2 |
+-------+----------+---+
| TeamA | PlayerAA | 1 |
+-------+----------+---+
| TeamB | PlayerBB | 1 |
+-------+----------+---+
我想要的是按照这样的团队列的出现次数来排序这个结果
+-------+----------+---+
| TeamB | PlayerBA | 4 |
+-------+----------+---+
| TeamB | PlayerBB | 2 |
+-------+----------+---+
| TeamB | PlayerBB | 1 |
+-------+----------+---+
| TeamA | PlayerAA | 4 |
+-------+----------+---+
| TeamA | PlayerAA | 1 |
+-------+----------+---+
我可以使用
查询按团队名称分组的行数SELECT
tbl_team.te_name,
count(tbl_team.te_name)
FROM
tbl_scorer
INNER JOIN tbl_team on tbl_scorer.sID_team = tbl_team.pID_team
INNER JOIN tbl_player on tbl_scorer.sID_player = tbl_player.pID_player
INNER JOIN tbl_games on tbl_scorer.sID_game = tbl_games.pID_game
WHERE tbl_games.pID_game = 9 group by tbl_team.te_name
但是如何组合它们以获得正确的顺序?
【问题讨论】:
标签: sql sql-server count group-by sql-order-by