我需要获得基于足球运动员排名的前三名前锋,前三名中场球员,前四名后卫球员
我有单独的职位表
位置表的结构
PositionID和PositionName
1 Tor(意味着守门员)
2 Abwehr(指防御者)
3米特尔费尔德(意味着中场)
4 Angriff(指向前)
我有Soccerplayers Table,那里有Name(玩家名称),PositionId,TScore(玩家分数)
我需要基于TScore的每个位置的前3名玩家
任何查询建议?
最佳答案
好吧,您可以尝试以下查询集:
(SELECT Name, PositionId, TScore FROM Soccerplayers WHERE PositionID = 1 ORDER BY TScore LIMIT 3)
UNION
(SELECT Name, PositionId, TScore FROM Soccerplayers WHERE PositionID = 2 ORDER BY TScore LIMIT 4)
UNION
(SELECT Name, PositionId, TScore FROM Soccerplayers WHERE PositionID = 3 ORDER BY TScore LIMIT 3)