2010-06-29 2 views
4

Может ли кто-то преобразовать этот английский в SQL? Я пробовал несколько вещей, но не повезло.SQL Select Count (person_id)> 3 От

ВЫБОР КОГДА ДЕЛО COUNT (person_id)> 3 ТОГДА person_id конец ИЗ таблицы

Я пытаюсь получить только person_id (ы), которые происходят> 3 раза в таблице.

ответ

9

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

SELECT t.person_id 
    FROM TABLE t 
GROUP BY t.personid 
    HAVING COUNT(t.personid) > 3 

Вы не можете использовать агрегатные функции, или псевдонимы столбцов и столбцов, полученных с помощью агрегатных функций, в ИНЕКЕ. Они могут использоваться только в предложении HAVING, что требует определения предложения GROUP BY (если оно еще не существует).

Я не рекомендую использовать псевдоним столбца в предложениях GROUP BY или HAVING - существует риск того, что запрос не будет переносимым в другие базы данных. SQL Server и MySQL - это единственные базы данных, о которых я знаю, которые поддерживают псевдонимы столбцов в предложениях GROUP BY или HAVING.

+0

Вы, ребята, здорово! – Daniel

3
SELECT 
    person_id 

FROM table 

GROUP BY person_id 

HAVING COUNT(*) > 3