繁体   English   中英

mysql - 如果满足条件,则忽略其他记录

[英]mysql - ignore other records if a condition is met

试着弄清楚如何最好地表达这个问题,但我认为最好的例子。

我从查询中得到以下输出

league_id   user_id   outcome_id
   5        1         1
   5        1         4
   5        2         1

如您所见,有两种不同的结果值。 有效的是,不止一个的情况是league_id和user_id是相同的......例如在上面的例子5和1中。

我想要的是生成摘要数据,如果union_id和user_id的组合结果为'4',那么将输出'FAIL',并且对于该league_id和user_id组合,将忽略'1'的所有结果。 如果不存在'4',则摘要将输出通过。

这将产生如下的东西......

league_id   user_id   outcome_id
   5        1         FAIL
   5        2         PASS

对不起,我说我很难实现这个目标! 有人可以帮忙吗?

谢谢。

DS

SELECT league_id,user_id,
       CASE WHEN outcome=0 THEN 'PASS' ELSE 'FAIL' END as outcome_id
FROM
(
SELECT league_id,user_id,SUM(CASE WHEN outcome_id=4 THEN 1 ELSE 0 END) as outcome
FROM tableName
GROUP BY league_id,user_id
) As Z

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM