【问题标题】:Check if value exist on duplicate rows in mysql检查mysql中重复行上是否存在值
【发布时间】:2019-09-01 17:32:55
【问题描述】:

我正在创建一个查询以从 mysql 中的重复值中找出唯一行。但是我在检查重复列值中是否存在其他列值时卡住了。 例如我有一个表用户:

id name gender
1  Jack Male
2  Jack Male
3  Jack Null

现在要找出我使用 group by 的任何唯一值,如下所示:-

 SELECT name FROM users GROUP BY name;

所以,现在假设我必须检查这些重复行中是否有任何一个具有性别男性但不能有空值,那么它必须返回零行,因为有一行为空。

建议我如何做到这一点。

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

    听起来你想要一个having 子句:

    SELECT name
    FROM users
    GROUP BY name
    HAVING SUM( gender = 'Male' ) > 0 AND  -- has "male"
           SUM( gender IS NULL) = 0        -- gender is never `NULL`
    

    【讨论】:

      猜你喜欢
      • 2013-08-06
      • 2014-03-15
      • 2020-09-14
      • 2012-02-18
      • 2011-06-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-29
      相关资源
      最近更新 更多