作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以我有一个包含联盟中所有球队的数据库表。在网站的主页上,我需要显示球队的位置以及拥有更好分数(更多分数)的两支球队以及比特定球队分数更少的两支球队。简单的部分是这个特定的团队 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/
我是一名优秀的程序员,十分优秀!