我需要根据足球运动员的位置获得前3名前锋,前3名中卫,前4名后卫位置
我有单独的位置表
位置表的结构
PositionID和PositionName
1 Tor(意味着守门员)
2 Abwehr(意味着捍卫者)
3 Mittelfeld(意味着中场)
4 Angriff(意味着前进)
我有足球运动员表,其中有姓名(球员姓名),PositionId,TScore(球员得分)
我需要基于TScore的每个位置的前三名球员
任何查询建议??
答案 0 :(得分:0)
你可以尝试这个查询集:
(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)