我如何选择每个团队(主场和客场)的 x 个最近记录?
因此,下面为我提供了斯旺西最近的主场和客场比赛,我如何获得所有球队的数据?
select d.date, d.hometeam, d.awayteam
from dump d
where
d.hometeam = 'Swansea'
or d.awayteam ='Swansea'
order by STR_TO_DATE(date, '%d/%m/%Y') desc limit 6
以我拥有的数据为例。我使用的是 football-data.co.uk 提供的 CSV 数据:http://www.football-data.co.uk/mmz4281/1415/E0.csv
我使用的是 MySQL,但是如果有适合此目的的函数或存储过程,我可以使用 SQL Server。
编辑:预期输出
X | Date | Home Team | Away Team
----------------------------------------
Swansea| 23/03/15|Swansea |Arsenal
----------------------------------------
Swansea| 14/03/15|Man City |Swansea
----------------------------------------
Man Utd| 14/03/15|Man Utd |Man City
----------------------------------------
Man Utd| 14/03/15|Man Utd |Liverpool
如果您对如何更好地呈现它有任何建议,我愿意接受建议。
左边是有问题的团队,如上表所示,每个团队 2 个,我试图让每个团队 6 个。
最佳答案
你只需要 GROUP BY 团队和日期:
SELECT d.team, d.date, d.hometeam, d.awayteam
FROM dump d
GROUP BY team, date
ORDER BY STR_TO_DATE(date, '%d/%m/%Y');
关于mysql - 为每个团队选择前 x 条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29219515/