如果另一个已经改变,MySQL Group由一列组成?

时间:2015-02-06 21:36:37

标签: mysql

我一直在寻找是否有一个MySQL选择器允许我选择一列,如果另一列有不同的值。

示例:

id name  value
----------------
1  john   1
2  craig  1
3  john   2

所以,我要做的是选择第1行和第3行,因为它们具有相同的name并且value已更改。

如果无法做到这一点,我可以解析代码中的所有结果,但如果MySQL能为我做到这一点,那就更好了!

3 个答案:

答案 0 :(得分:1)

试试这个:

Select * from `table` where Name in (
select name from `table` Group by Name having Count(*)>1)

内部选择查找表中存在多个名称的名称,外部选择获取该名称的数据。

答案 1 :(得分:0)

您可以选择具有多个值的所有名称,然后选择具有这些名称的所有行:

SELECT *
FROM   mytable
WHERE  name IN (SELECT   name
                FROM     mytable
                GROUP BY name
                HAVING   COUNT(*) > 1)

答案 2 :(得分:0)

这可能有用;

select * from table a
where exists 
(select b.id from table b
where a.name = b.name and a.value <> b. value)