首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL复合条件选择查询

问MySQL复合条件选择查询
EN

Stack Overflow用户
提问于 2018-10-16 17:01:30
回答 1查看 27关注 0票数 1

我有一张桌子,我在那里储存团队的结果。团队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可以是多行。

请帮帮我,这对我来说太复杂了。

非常感谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-10-16 17:23:15

您可以使用多个CASE .. WHEN语句从team_id = 65的角度获得结果。

代码语言:javascript
复制
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 5

DB Fiddle演示

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52840567

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档