Loading [MathJax]/jax/output/CommonHTML/config.js
社区首页 >问答首页 >mySQL IF条件THEN条件

mySQL IF条件THEN条件
EN

Stack Overflow用户
提问于 2016-07-20 13:20:55
回答 1查看 64关注 0票数 0

我正在努力处理查询的WHERE部分。查询本身包含一个基于两个表中都存在的ID的左连接。但是,我要求where语句只返回其中一列中存在的最大单个结果。目前,我返回连接中的所有值,包括我不想要的值。

我当前的SQL是

代码语言:javascript
代码运行次数:0
复制
SELECT u.uid, t.id
GROUP_CONCAT(u.forename, ' ', u.surname) AS name,
GROUP CONCAT(DISTINCT scores.points) AS point
FROM users AS U
JOIN teamname AS t
   LEFT JOIN (
       SELECT team_id,  id
       FROM games AS g
       LEFT JOIN (
           SELECT points, team_id
           FROM scores as s
       ) AS S ON t.id = S.team_id
       WHERE IF (S.points > 3, S.points > 2, S.point =1)
   ) AS G ON t.id = G.team_id
ORDER BY surname ASC;

这样做的结果可能是类似于

代码语言:javascript
代码运行次数:0
复制
NAME | TEAM | GAMES    | POINTS
Joe  | 1    | 1,2,3,4  | 1,3,3,2,3

在这种情况下,第一个游戏是一个平局,并被回复导致更高的分数,我只想要基于该游戏的更高的分数。

任何帮助都将不胜感激。

使用表格更新

代码语言:javascript
代码运行次数:0
复制
users
uid
forename
surname

Team
id
teamname
uid

games
id
team_id
points
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-07-20 16:47:58

我还是不太确定我是否正确理解了你的表格。似乎一个用户有一个或多个团队,每个团队都有一个或多个游戏,每个游戏都有一个或多个结果。您希望为每个用户和每个团队显示连接在一列中的游戏,以及连接在第二列中的每个游戏的最高分。

如果我的假设是正确的,下面的查询应该可以做到这一点。基本上,您首先按用户/团队/游戏对数据进行分组,并选择每场比赛的最大点数,然后按用户/团队对结果进行分组,并将游戏和点数连接起来。

如果我误解了你的任何要求,请告诉我。

SQL Fiddle中的示例

代码语言:javascript
代码运行次数:0
复制
SELECT
    t.uid,
    t.forename,
    t.team_id,
    GROUP_CONCAT(t.game_id) as games,
    GROUP_CONCAT(t.max_points) as max_points
FROM (
        SELECT
            users.uid,
            users.forename,
            teams.id AS team_id,
            games.id AS game_id,
            max(games.points) as max_points
        FROM
            users
            LEFT JOIN teams ON users.uid = teams.uid
            LEFT JOIN games ON teams.id = games.team_id
        GROUP BY
            users.uid,
            users.forename,
            teams.id,
            games.id
    ) t
GROUP BY
    t.uid,
    t.forename,
    t.team_id
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38482510

复制
相关文章
CoffeeScript 简介
摘要总结:本文介绍了CoffeeScript这门编程语言,包括它的历史、特性、安装、概览以及进一步学习的资源。
乐百川
2018/01/09
9210
【前端】CoffeeScript
zhaokang555
2023/10/17
1310
【前端】CoffeeScript
CoffeeScript学习笔记
CoffeeScript编程语言构建于Javascript之上,它可编译成高效JavaScript。可以在Web浏览器上,或者结合Node.js一类的技术构建服务端应用程序。
大江小浪
2018/07/25
4050
CoffeeScript学习笔记
私有PaaS在乐视的实践
PaaS在云平台中的作用 * 打通接入层、应用层、服务层 * 承载了云平台95%以上的业务
字母哥博客
2020/09/23
5190
私有PaaS在乐视的实践
在 SwiftUI 视图中打开 URL 的若干方法
本文将介绍在 SwiftUI 视图中打开 URL 的若干种方式,其他的内容还包括如何自动识别文本中的内容并为其转换为可点击链接,以及如何自定义打开 URL 前后的行为等。
东坡肘子
2022/07/28
7.8K1
在 SwiftUI 视图中打开 URL 的若干方法
在图中添加多边形
在matplotlib中有一个子模块patches, 提供了绘制各种多边形的功能,常用的多边形及其画法如下
生信修炼手册
2020/09/23
6220
在图中添加多边形
Win10: 在截图中添加红框
文章背景: 在工作中,很多时候需要用到Win10原生的截图工具,然后在截图中添加红框进行强调。对于Win10系统,可以通过按Windows 徽标键‌+ Shift+ S,快速调出截图工具,但无法在截图中添加红框,需要借助画图工具进行实现。
Exploring
2023/08/17
13.3K0
Win10: 在截图中添加红框
【译】在列表视图中处理空值
本篇文章主要针对两类开发者。第一个是曾遇到过IllegalArgumentException: Path must not be empty问题的开发者。第二个则是当ListView使用了未被完整加载的图像,应用程序仍能正确运转的开发者们。
小鄧子
2018/08/20
1.2K0
面经 | 嵌入式软件开发(海康威视)
a. 嵌入式软件开发的笔试题中,c/c++、数据结构、操作系统、计算机网络等都会涉及到,对于操作系统方面的考察相较于其他岗位会更多一些。在程序题中,除了一些算法题,还会考察某个现有函数的实现,例如:memcpy。
用户3946442
2022/04/11
1.2K0
面经 | 嵌入式软件开发(海康威视)
在EasyUI的DataGrid中嵌入Combobox
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/huyuyang6688/article/details/46687767
DannyHoo
2018/09/13
3.8K0
在EasyUI的DataGrid中嵌入Combobox
C++在视图中显示缩略图
将任意形式文件已缩略图形式显示在视图中 //pWnd为当前客户区视图 CWnd* pWnd; pWnd=this; CDC* pDC=pWnd->GetDC(); HDC hDC = pDC->m_hDC; HWND hwnd=pWnd->GetSafeHwnd(); CImage image; //m_ViewRect 为当前客户区 CRect m_ViewRect; GetClientRect(&m_ViewRect); //strFilePath为影像绝度路径,包含文件名 image.Load(strFilePath);
用户7886150
2021/02/13
6790
在应用中嵌入Tomcat
很多 Java web 应用和服务,包括开源的和商业化的(比如 Alfresco, iRise, Confluence等),都倾向于将 Apache Tomcat Servlet 引擎整个嵌入到他们的分发包中。Atlatisan公司甚至只支持他们自己提供的嵌入式Tomcat 包,不再提供 WAR/EAR 形式的分发包。这些安装包包含了整个 Tomcat 引擎和配置文件,看起来确实有点大材小用。在大多数配置中,默认的配置文件甚至从来不会变动。真的有办法可以在代码中启动 Tomcat 并且只需要 tomcat 的 jar 文件作为依赖么?在下面的教程中,我们将会对 Jetty (Jetty 是一个为此目的而设计的一种嵌入式 servlet 引擎)进行测试,同时还会展示如何将 Jetty 迁移到 Tomcat 。
哲洛不闹
2018/09/18
2.3K0
在应用中嵌入Tomcat
类图中的关系
关联(Association)关系是类与类之间最常用的一种关系,它是一种结构化关系,用于表示一类对象与另一类对象之间有联系,如汽车和轮胎、师傅和徒弟、班级和学生等等。在UML类图中,用实线连接有关联关系的对象所对应的类,在使用Java、C#和C++等编程语言实现关联关系时,通常将一个类的对象作为另一个类的成员变量。在使用类图表示关联关系时可以在关联线上标注角色名,一般使用一个表示两者之间关系的动词或者名词表示角色名(有时该名词为实例对象名),关系的两端代表两种不同的角色,因此在一个关联关系中可以包含两个角色名,角色名不是必须的,可以根据需要增加,其目的是使类之间的关系更加明确。
后端码匠
2022/03/28
7280
类图中的关系
ICRA 2020 | 通过共享2D-3D嵌入空间在激光雷达地图中进行全局视觉定位
标题:Global visual localization in LiDAR-maps through shared 2D-3D embedding space
好好学SLAM
2021/05/28
8260
咖啡销售2.0
咖啡是美国乃至全世界消费最广泛的饮料之一。美国人每天消费4亿杯咖啡,使美国成为世界上最主要的咖啡消费国。
用户8128510
2021/01/28
7870
拼图中的数据科学
拼图筛选流程: 抓出一把拼图 注:一把的数量允许动态得调整 铺展在桌面上 并行对非字母信息筛选并处理 优质连块拼图 取出 形状是边界拼图 取出 字母向下 翻面 并行对字母信息筛选并处理 相似字母XY 收集 相似字母不再出现 取出 注:随机查找n次无结果 边界拼图 取出 已出现过的字母 取出 最后一组字母 相似字母X 收集X 相似字母不再出现 取出X 直接收集Y 取出Y 注:随机查找n次无结果 注释:仅支持两只手,左手字母靠前,右手字母靠后 注释:XY集合的选择靠特征,可选的组合有
杨丝儿
2022/03/01
4880
CoffeeScript和Sass提高Web开发效率
如果您是一位每天都要编写JavaScript和Css的Web前端开发人员,可能您已经开始感觉到JavaScript的关键字 var, function, {} 要被您每天敲击若干遍。是否可以省掉这些重
葡萄城控件
2018/01/10
8040
CoffeeScript和Sass提高Web开发效率
在 HTML 中嵌入 PHP 代码
PHP 天生对 Web 和 HTML 友好,在 PHP 诞生之初,主要用于在 Web 1.0 中构建个人主页,那个时候,PHP 代表的是 Personal Home Page,随着 Web 互联网的发展,在 Web 2.0 时代,PHP 进一步进化为 PHP:Hypertext Preprocessor,即超文本处理器,而 HTML 则是 HyperText Markup Language 的缩写,也就是超文本标记语言。
学院君
2020/05/28
6.3K0
10分钟带你读完《在星巴克要买大杯咖啡》
这是一本很有趣的关于生活中的经济学的小册子,日本人吉本佳生用一个个小故事为我们讲述了那些生活中隐藏的经济学知识。
100000798482
2018/08/20
1.5K0
10分钟带你读完《在星巴克要买大杯咖啡》
点击加载更多

相似问题

Node + Coffeescript + Zappa

10

无法安装Zappa的咖啡(MacOSX10.9)

13

zappa js @include coffeescript方法不工作

311

Coffeescript编译变体(coffeescript.org与咖啡-rails)

12

使用coffeescript (zappa)在nodejs / commonjs中重新导出模块(mongoose)

24
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档