복붙노트

[SQL] MySQL의 : 고유 값의 발생을 카운트

SQL

MySQL의 : 고유 값의 발생을 카운트

나는 특정 필드에 고유 한 값을 찾아 그 값의 발생 수를 계산 한 후 계산으로 결과를 정렬하는 MySQL의 쿼리를 찾기 위해 노력하고있다.

예를 들어 DB

id         name
-----      ------
1          Mark
2          Mike
3          Paul
4          Mike
5          Mike
6          John
7          Mark

예상 결과

name       count
-----      -----
Mike       3
Mark       2
Paul       1
John       1

감사

해결법

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

    1.

    SELECT name,COUNT(*) as count 
    FROM tablename 
    GROUP BY name 
    ORDER BY count DESC;
    
  2. ==============================

    2.이런 일에 대해 무엇을 :

    이런 일에 대해 무엇을 :

    select name, count(*) as num
    from your_table
    group by name
    order by count(*) desc
    

    즉, 당신은 이름이 나타나는 횟수를 선택하는; 각각의 이름을 한 번만 선택되도록 있지만 이름으로 그룹화.

    그런 다음 시간, 내림차순의 번호로 주문; 가장 자주 나타나는 사용자가 처음으로와달라고한다.

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

    3.그냥 성능 향상을 위해 (1) COUNT하는 황색의 COUNT (*)를 변경했습니다.

    그냥 성능 향상을 위해 (1) COUNT하는 황색의 COUNT (*)를 변경했습니다.

    SELECT name, COUNT(1) as count 
    FROM tablename 
    GROUP BY name 
    ORDER BY count DESC;
    
  4. from https://stackoverflow.com/questions/1346345/mysql-count-the-occurrences-of-distinct-values by cc-by-sa and MIT license