根据条件/值从Mysql表中获取前3名

时间:2014-03-10 06:46:58

标签: c# mysql asp.net

我需要根据足球运动员的位置获得前3名前锋,前3名中卫,前4名后卫位置

我有单独的位置表

位置表的结构

PositionID和PositionName

1 Tor(意味着守门员)

2 Abwehr(意味着捍卫者)

3 Mittelfeld(意味着中场)

4 Angriff(意味着前进)

我有足球运动员表,其中有姓名(球员姓名),PositionId,TScore(球员得分)

我需要基于TScore的每个位置的前三名球员

任何查询建议??

1 个答案:

答案 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)