为了账号安全,请及时绑定邮箱和手机立即绑定

请问 SQL (mysql) 如何查询相同 ID下某一列全部相同的 sql 语句怎么写?

请问 SQL (mysql) 如何查询相同 ID下某一列全部相同的 sql 语句怎么写?

鸿蒙传说 2019-03-23 11:44:36
表名称 为:egg_school_en_user_data_word_log例如以上的图相同ID 'wextid' 下 某一列 'result' 全部等于 error 的正确将查询出 wextid 为 5528 的数据 而 wextid 为 2628 的数据 因为其中有一行 'result' 为 correct 所有不应该被查处。我的目的 是指 在 wextid 相同情况下,result 必须全部为 error 的值。 我需要的是 如果上图中 第 5行(ID为730) 的 result 变成error 那么将查询出 5528,2628 个值 的SQL语句。
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

select * from 
    (select wextid,result 
    from t_test 
    group by wextid,result) a 
 group by wextid 
 having count(1)=1 and result = 'error'


查看完整回答
反对 回复 2019-03-23
?
HUWWW

TA贡献1874条经验 获得超12个赞

我经常这么写,不用join也不用嵌套,一层select就可以:

select wextidfrom egg_school_en_user_data_word_log 
group by wextidhaving group_concat(distinct result) = "error"

这句的关键就在于里having里可以用group_concat把不同的result给链接起来,若结果为"error"即为符合条件。

希望能帮助到你。


查看完整回答
反对 回复 2019-03-23
  • 2 回答
  • 0 关注
  • 575 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信