Возвращать строки только при наличии определенного количества столбцов - PullRequest
1 голос
/ 08 июля 2011

Я пытаюсь сделать запрос SELECT, который возвращает строки, только когда столбец (назовите его My_Column) имеет только одно отдельное значение, то есть когда COUNT(DISTINCT My_Column) = 1.Если есть несколько различных значений My_Column, я не хочу возвращать строки.Как я могу это сделать?

Ответы [ 4 ]

3 голосов
/ 08 июля 2011

Использование:

SELECT t.*
  FROM YOUR_TABLE t
HAVING COUNT(DISTINCT t.my_column) = 1

Помните, как MySQL обрабатывает GROUP BY и HAVING со скрытыми столбцами .

1 голос
/ 08 июля 2011
SELECT ...
GROUP BY foo
HAVING COUNT(DISTINCT My_Column) = 1;
1 голос
/ 08 июля 2011
SELECT a.* 
FROM table a
WHERE 1 = (SELECT COUNT(DISTINCT My_Column) FROM table);
0 голосов
/ 08 июля 2011

Попробуйте это:

SELECT COUNT(My_Column), My_Column FROM tbl GROUP BY My_Column HAVING COUNT(My_Column)=1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...