Выберите строки со значением столбца, которое встречается не менее двух раз и имеют разные значения в другом столбце, и, наконец, упорядочите по обновленному времени. - PullRequest
0 голосов
/ 07 июня 2019

Мне нужно выбрать столбец с одинаковыми значениями с ровно тремя счетами и разными значениями в другом столбце и, наконец, упорядочить по updated_time.

Для этого примера ниже мне нужно выбрать только значение 15 изcolumn1

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

1 Ответ

0 голосов
/ 07 июня 2019

Чтобы получить значения 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...