복붙노트

[SQL] SQL 열에서 가장 자주 값을 찾기

SQL

SQL 열에서 가장 자주 값을 찾기

어떻게 SQL 테이블의 지정된 열에서 가장 자주 값을 찾을 수 있습니까?

그것은 가장 빈번한 값이기 때문에, 예를 들면,이 테이블의 두 개의 반환해야 :

one
two
two
three

해결법

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

    1.

    SELECT       `column`,
                 COUNT(`column`) AS `value_occurrence` 
        FROM     `my_table`
        GROUP BY `column`
        ORDER BY `value_occurrence` DESC
        LIMIT    1;
    

    열 및 MY_TABLE를 교체합니다. 당신이 컬럼의 N 가장 일반적인 값을보고 싶다면 1을 늘립니다.

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

    2.같은 것을보십시오 :

    같은 것을보십시오 :

    SELECT       `column`
        FROM     `your_table`
        GROUP BY `column`
        ORDER BY COUNT(*) DESC
        LIMIT    1;
    
  3. ==============================

    3.우리가 도시로 tblperson 및 열 이름과 테이블 이름을 생각해 보자. 나는 도시 열에서 가장 반복되는 도시를 검색 할 :

    우리가 도시로 tblperson 및 열 이름과 테이블 이름을 생각해 보자. 나는 도시 열에서 가장 반복되는 도시를 검색 할 :

     select city,count(*) as nor from tblperson
            group by city
              having count(*) =(select max(nor) from 
                (select city,count(*) as nor from tblperson group by city) tblperson)
    

    다음이나 별칭 이름입니다.

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

    4.쿼리 아래의 SQL Server 데이터베이스에 저를 위해 일하고 좋은 것 같다 :

    쿼리 아래의 SQL Server 데이터베이스에 저를 위해 일하고 좋은 것 같다 :

    select column, COUNT(column) AS MOST_FREQUENT
    from TABLE_NAME
    GROUP BY column
    ORDER BY COUNT(column) DESC
    

    결과:

    column          MOST_FREQUENT
    item1           highest count
    item2           second highest 
    item3           third higest
    ..
    ..
    
  5. ==============================

    5.SQL 서버와 함께 사용.

    SQL 서버와 함께 사용.

    점에서 제한 명령 지원이 없기 때문에.

    요 (값)이 경우, 상기 특정 열의 발생 최대 값을 찾기 위해 상위 1 명령을 사용하여

    SELECT top1 
        `value`,
        COUNT(`value`) AS `value_occurrence` 
    FROM     
        `my_table`
    GROUP BY 
        `value`
    ORDER BY 
        `value_occurrence` DESC;
    
  6. ==============================

    6.표를 가정하면 'SalesLT.Customer'이며 알아 내려고하는 열은 '회사 명'이고 AggCompanyName는 별칭입니다.

    표를 가정하면 'SalesLT.Customer'이며 알아 내려고하는 열은 '회사 명'이고 AggCompanyName는 별칭입니다.

    Select CompanyName, Count(CompanyName) as AggCompanyName from SalesLT.Customer
    group by CompanyName
    Order By Count(CompanyName) Desc;
    
  7. ==============================

    7.당신은 LIMIT를 사용할 수 없거나 제한 쿼리 도구에 대한 옵션이없는 경우. 당신은 "ROWNUM"를 대신 사용할 수 있지만 하위 쿼리가 필요합니다 :

    당신은 LIMIT를 사용할 수 없거나 제한 쿼리 도구에 대한 옵션이없는 경우. 당신은 "ROWNUM"를 대신 사용할 수 있지만 하위 쿼리가 필요합니다 :

    SELECT FIELD_1, ALIAS1
    FROM(SELECT FIELD_1, COUNT(FIELD_1) ALIAS1
        FROM TABLENAME
        GROUP BY FIELD_1
        ORDER BY COUNT(FIELD_1) DESC)
    WHERE ROWNUM = 1
    
  8. ==============================

    8.당신은 ID 열이 있고 각 ID에 대한 또 다른 열에서 가장 반복적 인 범주를 찾으려면 다음 쿼리 아래에 사용할 수 있습니다,

    당신은 ID 열이 있고 각 ID에 대한 또 다른 열에서 가장 반복적 인 범주를 찾으려면 다음 쿼리 아래에 사용할 수 있습니다,

    표:

    질문:

    SELECT ID, CATEGORY, COUNT(*) AS FREQ
    FROM TABLE
    GROUP BY 1,2
    QUALIFY ROW_NUMBER() OVER(PARTITION BY ID ORDER BY FREQ DESC) = 1;
    

    결과:

  9. ==============================

    9.내가 사용하고자하는 한 가지 방법은 다음과 같습니다

    내가 사용하고자하는 한 가지 방법은 다음과 같습니다

    , TABLE_NAME에서 VAR1으로 COUNT ()를 선택

    그룹 별

    VAR1 내림차순 순서에 의해

    제한 1

  10. from https://stackoverflow.com/questions/12235595/find-most-frequent-value-in-sql-column by cc-by-sa and MIT license