假设我的数据库类似于以下内容:
First Entry | Second Entry | Third Entry
0 0 0
0 1 2
2 1 0
2 0 1
3 0 0
我正在尝试返回此表的子集,其中FirstEntry
列中的元素至少重复一次。所以在这种情况下它会返回除最后一行之外的所有行。我怎么能这样做?我尝试过使用诸如count()
之类的东西,但只是设法实现了分组,而不是返回我很好奇的实际行(特别是,我关心的是第二次和第三次进入,但只有当第一次进入重复时至少一次)。
答案 0 :(得分:4)
使用IN()
select * from your_table
where FirstEntry in
(
select FirstEntry
from your_table
group by FirstEntry
having count(*) > 1
)
或使用JOIN
select t1.*
from your_table t1
join
(
select FirstEntry
from your_table
group by FirstEntry
having count(*) > 1
) t2 on t1.FirstEntry = t2.FirstEntry
答案 1 :(得分:0)
试试这个:
select *
from my_table
where First_Entry IN(SELECT First_Entry From my_table
group by First_entry having count(*) > 1)