Улей выберите столбец на основе второго столбца, где значения второго столбца отличаются - PullRequest
0 голосов
/ 30 мая 2020

Допустим, у нас есть таблица кустов с 4 разными столбцами, и я хочу выбрать из нее эти значения в первом столбце, а во втором столбце убедиться, что значения разные. Любая помощь или руководство по тому, как это сделать?

  ---------------------
  | C1 | C2 | C3 | C4 |
  ---------------------
  | a     1    g.   h |
  | a     1    f.   l |   
  | a     3    t.   p |  
  | b     1    r.   o |  
  | b     1    e.   q |
  | c     1    w.   w |
  | c     2    z.   p |
   -------------------

В приведенном выше примере я хочу выделить в улье select return a и c, потому что их значения в C2 разные.

Ответы [ 2 ]

2 голосов
/ 30 мая 2020

Насколько я понимаю ваш вопрос, вам нужны c1 s, которые имеют более одного отличного значения в c2.

Можно сгруппировать по c1 и использовать предложение having с count(distinct) для реализации фильтрации:

select c1 
from mytable
group by c1
having count(distinct c2) > 1;
1 голос
/ 30 мая 2020

Я думаю, это должно сработать для вас, он покажет значения C1, где есть только одно совпадение с комбинацией C1 + C2

select distinct C1 from table
group by C1, C2
having count(*) = 1;

Очень мало строк, чтобы вы могли понять, что это делает.

...