복붙노트

[SQL] COUNT별로 필터 (*)?

SQL

COUNT별로 필터 (*)?

이 그룹에있는 행 수에 의해 결과를 그룹화하고 필터 할 수 있습니까?

이 같은:

SELECT * FROM mytable WHERE COUNT(*) > 1 GROUP BY name

해결법

  1. ==============================

    1.당신은 집계 함수에 필터하는 데 사용하려고합니다.

    당신은 집계 함수에 필터하는 데 사용하려고합니다.

    SELECT name, COUNT(*)
        FROM mytable
        GROUP BY name
        HAVING COUNT(*) > 1
    
  2. ==============================

    2.당신은 HAVING 사용할 필요가

    당신은 HAVING 사용할 필요가

    SELECT * FROM mytable GROUP BY name HAVING COUNT(*) > 1
    

    하지만, SELECT * 당신은 그룹화 할 때 훨씬 이해가되지 않습니다. 나는 그것이 예를 들어 그냥 가정

  3. ==============================

    3.당신은 HAVING 절을합니다.

    당신은 HAVING 절을합니다.

    SELECT *
    FROM mytable
    GROUP BY name
    HAVING COUNT(*) > 1
    
  4. ==============================

    4.쿼리에 필요합니다 :

    쿼리에 필요합니다 :

    SELECT * FROM mytable GROUP BY name having COUNT(*) > 1 
    
  5. from https://stackoverflow.com/questions/5664103/filter-by-count by cc-by-sa and MIT license