У меня есть данные в таблице, как показано ниже

Name indicator
A     1
A     2
A     3
B     1
B     2
C     3

Я хочу получить количество имен, для которых существуют оба индикатора 1,2. В предыдущем примере это число равно 2 (A и B имеют индикаторы как 1, так и 2).

Данные, с которыми я имею дело, умеренно большие, и мне нужно получить аналогичную информацию о некоторых других перестановках (предварительно определенных) индикаторов (которые я могу изменить, как только получу базовый запрос).

1
Tilak 25 Июн 2013 в 19:50

1 ответ

Лучший ответ

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

SELECT Name
FROM Tablename
WHERE indicator IN(1, 2)
GROUP BY Name
HAVING COUNT(DISTINCT indicator) = 2;

Посмотрите это в действии здесь:

2
Mahmoud Gamal 25 Июн 2013 в 19:52
Я именно это и искал.
 – 
Tilak
25 Июн 2013 в 19:59