我有一个看起来像这样的表:
id value has_other color
1 banana 0 yellow
2 apple 1 red
3 apple 1 green
4 orange 0 orange
5 grape 0 red
6 grape 0 green
我想创建一个查询,选择所有包含'has_other'= 0的条目,但是其他条目具有相同的'value'和'has_other'值(主要用于查找重复项)
修改:添加了一些条目。查询应返回以上示例:
5, grape, 0, red
6, grape, 0, green
有什么想法吗?
干杯
答案 0 :(得分:2)
这将返回您要查找的结果:
SELECT t.*
FROM myTable t
INNER JOIN (
SELECT value
FROM myTable
WHERE has_other = 0
GROUP BY value
HAVING count(*) > 1
) a ON a.value = t.value
WHERE t.has_other = 0;
答案 1 :(得分:0)
select *
from myTable
where value in (
select value
from myTable
where has_other = 0
group by value
having count(*) > 1
)
and has_other = 0
答案 2 :(得分:0)
如果您展示了预期的结果,那就太好了。我想你想从你的数据得到这个结果:
好吧,要获得没有重复的结果,您必须使用distinct
函数。这是剧本:
select distinct(f.value), f.has_other
from fruit f
where f.has_other=0
我希望这可以帮到你。