Closed. This question is off-topic。它当前不接受答案。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
因此,我在联盟中有所有球队的分贝表。在网站的主页上,我需要显示团队的位置,以及两个得分更高(更多分)的团队,以及下面两个比特定团队得分低的团队。最简单的部分是,该特定的团队ID始终相同(我只需要显示该团队的当前位置)即可。
因此,假设我要针对team3(ID 3),我正在寻找的结果是
我对mysql查询不是很好,请帮助,我被卡住了。
SQLFiddle在这里:http://sqlfiddle.com/#!2/a17ad/10
以下是其功能的细分:
让有问题的团队以及前面的2个团队一起。
将其与:
将2个团队直接放在我们所选团队的后面。
最后:
按点对整个结果进行降序排列。
想改善这个问题吗? Update the question,所以它是on-topic,用于堆栈溢出。
6年前关闭。
因此,我在联盟中有所有球队的分贝表。在网站的主页上,我需要显示团队的位置,以及两个得分更高(更多分)的团队,以及下面两个比特定团队得分低的团队。最简单的部分是,该特定的团队ID始终相同(我只需要显示该团队的当前位置)即可。
id | Name | Points
---|------|------
0 | Team1| 9
1 | Team2| 5
2 | Team3| 3
3 | Team4| 3
4 | Team5| 2
5 | Team6| 1
因此,假设我要针对team3(ID 3),我正在寻找的结果是
1. team1 9
2. team2 5
3. team3 3
4. team4 3
5. team5 2
我对mysql查询不是很好,请帮助,我被卡住了。
最佳答案
其他答案做了某种循环构造。我更喜欢用SQL处理整个事情:
SELECT * FROM (
(SELECT * FROM teams
WHERE POINTS >= (SELECT POINTS FROM teams WHERE ID=3)
ORDER BY POINTS ASC LIMIT 0,3)
UNION
(SELECT * FROM teams
WHERE POINTS < (SELECT POINTS FROM teams WHERE ID=3)
ORDER BY POINTS DESC LIMIT 0,2)
) AS `teamResults` ORDER BY POINTS DESC
SQLFiddle在这里:http://sqlfiddle.com/#!2/a17ad/10
以下是其功能的细分:
让有问题的团队以及前面的2个团队一起。
将其与:
将2个团队直接放在我们所选团队的后面。
最后:
按点对整个结果进行降序排列。
关于php - 根据足球队得分在特定ID上下两行,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20840886/
10-15 08:11