首页 > 解决方案 > MySQL选择具有一个重复值和一个不同值的记录

问题描述

一直在努力处理 SELECT SQL 查询...

我有一张桌子user

id  |  name    | is_regular |....other columns
1   |  user1   |      1     |
2   |  user2   |      1     |
3   |  user1   |      0     |

我需要创建一个 SELECT 查询,它为我的用户提供相同 name不同 is_regular的值。

is_regular是一个可以有的标志,0因此1我尝试使用有子句:HAVING COUNT(DISTINCT is_regular) = 2但我无法获取重复的名称。

因此,查询将获取类似...

id  |  name    | is_regular |
1   |  user1   |      1     |
3   |  user1   |      0     |

甚至更好

id  |  name  
1   |  user1

有没有办法在没有子查询的情况下这样做?

标签: mysqlsql

解决方案


这是做你想做的事吗?

select name
from user u
group by name
having min(is_regular) <> max(is_regular)

推荐阅读