我想得到表格中出现以下序列的ID:
x r1
x r2
x r1
y r2
z r1
z r2
该表包含以下信息
ID S1 S2
1 x r1
1 x r2
1 x r1
1 y r2
1 z r1
1 z r2
2 x r1
2 x r2
3 x r1
3 x r2
3 x r1
3 y r2
4 x r1
4 z r2
4 x r1
4 x r2
4 x r1
4 y r2
4 z r1
4 z r2
我希望结果返回2,因为上面提到的序列出现在两个不同的ID上。
我尝试了以下代码:
with c as
(
select id, count (id) as id_cnt
from table1
group by id
)
select t.id, t.s2, t.s1
from table1 t
join c
on t.id = c.id
and c.id_cnt >= 6
where t.s1 in( 'x', 'y', 'z')
group by t.id, t.s2, t.s1
order by t.id
答案 0 :(得分:0)
您可以使用此查询:
select ID , COUNT(id) AS idCount ,s1,s2 from table1
group by ID,s1,s2