Рассмотрим следующую таблицу
C1 || C2 ||
---------------
1 || a ||
1 || b ||
2 || a ||
3 || b ||
3 || b ||
Я хотел бы выбрать все строки R с одинаковым значением C1, чтобы все значения C2 были равны. В моем примере я:
- не получу первые 2 строки (поскольку они имеют одинаковое значение C1 = 1, но разные значения C2 = a | b)
- получить третий ряд (без дублирования C1)
- получить 4-й и 5-й ряд (в одном ряду), поскольку они имеют одинаковое значение C1 = 3 и одинаковое значение C2 = b.
Я написал этот запрос: SELECT C1, C2 FROM mytable group by C1, C2 having count(*) = 1;
, но это не работает: я получаю все строки ...
Я знаю почему: group by
также выполняется на C2, но я не знаю, как поступить иначе ...