복붙노트

[SQL] 나는 T-SQL 그룹으로 어떻게 사용합니까

SQL

나는 T-SQL 그룹으로 어떻게 사용합니까

나는 수, 합계, 평균 등과 같은 모든 집계 함수를 사용하는 SQL 쿼리의 말에 GROUP BY 절 (나는 이유를 모르겠지만) 나는이 필요합니다 알고 :

SELECT count(userID), userName
FROM users
GROUP BY userName

때 다른 GROUP BY 유용하고 성능 파급 효과는 무엇인가 것인가?

해결법

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

    1.5 명 이상의 위젯이있는 각 위젯 카테고리에서 위젯의 수를 검색하려면, 당신이 할 수 있습니다 :

    5 명 이상의 위젯이있는 각 위젯 카테고리에서 위젯의 수를 검색하려면, 당신이 할 수 있습니다 :

    SELECT WidgetCategory, count(*)
    FROM Widgets
    GROUP BY WidgetCategory
    HAVING count(*) > 5
    

    은 "가진"절은 어떤 사람들이 종종 약 대신 클라이언트에 모든 데이터를 검색 할 탈퇴하고 거기를 반복 잊지이다.

  2. ==============================

    2.GROUP BY 하나에 그것이 그룹의 여러 레코드에서 DISTINCT와 유사하다.

    GROUP BY 하나에 그것이 그룹의 여러 레코드에서 DISTINCT와 유사하다.

    http://www.devguru.com/technologies/t-sql/7080.asp에서 빌린이 예는, 제품 테이블에서 서로 다른 제품을 나열합니다.

    SELECT Product FROM Products GROUP BY Product
    
    Product
    -------------
    Desktop
    Laptop
    Mouse
    Network Card
    Hard Drive
    Software
    Book
    Accessory
    

    DISTINCT 이상 GROUP BY의 장점은 HAVING 절과 함께 사용하는 경우 그것은 당신에게 세분화 된 제어를 제공 할 수 있다는 것입니다.

    SELECT Product, count(Product) as ProdCnt
    FROM Products
    GROUP BY Product
    HAVING count(Product) > 2
    
    Product      ProdCnt
    --------------------
    Desktop          10
    Laptop            5
    Mouse             3
    Network Card      9
    Software          6
    
  3. ==============================

    3.그룹으로는 레코드가 반환되기 전에 (이 암시 종류이기 때문에) 전체 세트가 채워 강제로.

    그룹으로는 레코드가 반환되기 전에 (이 암시 종류이기 때문에) 전체 세트가 채워 강제로.

    그 이유 (및 많은 다른 사람)의 경우, 하위 쿼리에서 그룹에 의해 사용하지 않습니다.

  4. ==============================

    4.태그가 구글의 예를 수 있습니다 사용하는 횟수를 계산 :

    태그가 구글의 예를 수 있습니다 사용하는 횟수를 계산 :

    SELECT TagName, Count(*)
    AS TimesUsed
    FROM Tags
    GROUP BY TagName ORDER TimesUsed
    

    당신은 단순히 태그의 고유 한 값을 원하는 경우에, 나는 DISTINCT 문을 사용하는 것을 선호합니다.

    SELECT DISTINCT TagName
    FROM Tags
    ORDER BY TagName ASC
    
  5. ==============================

    5.당신이 평균 또는 데이터의 무리를 요약하는 보고서를 생성 할 때 GROUP BY도 도움이됩니다. 당신은 할 수있는학과 ID와 SUM으로 GROUP 모든 판매 수익 또는 AVG 매달 판매의 수입니다.

    당신이 평균 또는 데이터의 무리를 요약하는 보고서를 생성 할 때 GROUP BY도 도움이됩니다. 당신은 할 수있는학과 ID와 SUM으로 GROUP 모든 판매 수익 또는 AVG 매달 판매의 수입니다.

  6. from https://stackoverflow.com/questions/2702/how-do-i-use-t-sql-group-by by cc-by-sa and MIT license