发布
社区首页 >问答首页 >mySQL IF条件THEN条件

mySQL IF条件THEN条件
EN

Stack Overflow用户
提问于 2016-07-20 21: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-21 00: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

复制
相关文章

相似问题

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