尝试找出如何最好地表达这个问题,但我认为最好通过示例来完成。
我有以下查询输出
league_id user_id outcome_id
5 1 1
5 1 4
5 2 1
正如您所看到的,有两种不同的结果值。 存在不止一种 league_id 和 user_id 相同的情况是有效的……例如在上面的示例中 5 和 1。
我想要的是生成摘要数据,如果 league_id 和 user_id 的组合的结果为“4”,那么将输出“FAIL”,并且该 league_id 的所有“1”结果都将被忽略和 user_id 组合。如果不存在“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
关于mysql - 如果满足条件则忽略其他记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22918957/