我有一张桌子,我在那里储存团队的结果。团队id可以是homeTeam或awayTeam。我想检索team播放过的最后5场比赛。
请看我的SQL花弦http://sqlfiddle.com/#!9/701305/1

如果您看到结果,这里我正在尝试获得最后5场比赛的team id 165统计数据
在第一行中,165是一个homeTeam,您可以看到homeTeamPoint(3)>awayTeamPoint(0),所以在本例中,我同样希望返回W,如果团队输了,那么它应该是L,如果是相同的点,则返回D。
因此,我期待的输出可以有两种方式
输出:W,L,W,W,L或Out可以是多行。
请帮帮我,这对我来说太复杂了。
非常感谢。
发布于 2018-10-16 17:23:15
您可以使用多个CASE .. WHEN语句从team_id = 65的角度获得结果。
SELECT
homeTeam,
awayTeam,
homeTeamPoint,
awayTeamPoint,
CASE
WHEN homeTeamPoint = awayTeamPoint
THEN 'D'
WHEN `homeTeam` = 165 AND homeTeamPoint > awayTeamPoint
THEN 'W'
WHEN `homeTeam` = 165 AND homeTeamPoint < awayTeamPoint
THEN 'L'
WHEN `awayTeam` = 165 AND homeTeamPoint < awayTeamPoint
THEN 'W'
WHEN `awayTeam` = 165 AND homeTeamPoint > awayTeamPoint
THEN 'L'
END AS result
FROM fixtureandresults
WHERE (`homeTeam` = 165 OR awayTeam=165)
AND over = 1
ORDER BY id DESC LIMIT 5https://stackoverflow.com/questions/52840567
复制相似问题