我需要选择一列具有完全相同的值且具有三个计数的值,而另一列中具有不同的值,最后按updated_time排序。
对于下面的示例,我只需要从column1中获取值15
column1 column2 updated_time
12 21 2019-01-05 01:36:50.995476
12 21 2018-04-05 01:36:50.995476
12 21 2019-02-05 01:36:50.995476
11 25 2019-03-05 01:36:50.995476
11 25 2019-02-05 01:36:50.995476
11 25 2019-04-04 01:36:50.995476
11 25 2019-05-05 01:36:50.995476
15 27 2019-01-05 01:36:50.995476
15 26 2019-01-05 01:36:50.995476
15 29 2019-02-05 01:36:50.995476
16 29 2019-04-03 01:36:50.995476
17 31 2019-04-03 01:36:50.995476
答案 0 :(得分:0)
要获取column1
的值,您必须group by column1
。
具有三个计数的相同值
表示count(*) = 3
和
另一列中的值不同
表示count(distinct column2) = 3
:
select * from tablename
where column1 in (
select column1
from tablename
group by column1
having
count(*) = 3
and
count(distinct column2) = 3
)
order by updated_time