繁体   English   中英

检查mysql中重复行上是否存在值

[英]Check if value exist on duplicate rows in mysql

我创建一个查询,以从mysql中的重复值中找出唯一的行。 但是我在检查重复的列值中是否还有其他列值时陷入困境。 例如我有一个表用户:

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

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

 SELECT name FROM users GROUP BY name;

因此,现在让我说我必须检查这些重复行中是否有任何一个性别为Male,但不能具有null值,则必须返回零行,因为其中有一行为null。

建议我如何做。

听起来您想要一个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`

暂无
暂无

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

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