programing

빈도순으로 상위 구별 결과 선택

easyjava 2023. 9. 16. 10:06
반응형

빈도순으로 상위 구별 결과 선택

제 테이블에는 id와 name 두 개의 열이 있습니다.데이터는 다음과 같습니다.

id | name
----------
1    Jeff
2    Sam
3    Carl
4    Sam
5    Carl
6    Jeff
7    Dave
8    Jeff

제가 얻고 싶은 것은 이것입니다.

name | frequency
----------------
Jeff      3
Carl      2
Sam       2
Dave      1

기본적으로 테이블 내의 고유한 이름을 세고 빈도순으로 정렬하는 SQL 쿼리가 필요합니다.중요하다면 MySQL을 사용하고 있습니다.

감사합니다.

테스트를 해보지 않았기 때문에 구문이 완벽하지 않을 수도 있지만, 이와 같은 경우는 어떨까요.

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

고유한 이름과 해당 번호로 정렬된 각 이름이 테이블에 나타나는 횟수를 제공해야 합니다.

당신은 a를 사용해야 합니다.GROUP BY:

SELECT name, COUNT(*) as frequency
FROM name_table
GROUP BY name
ORDER BY COUNT(*) DESC;

이의지GROUP BY name(비선택 열은 다음에서 지정해야 합니다.)GROUP BY절)을 한 다음COUNT각각의 빈도name.

상위 25개만 원하신다면, 추가를 진행하실 수 있습니다.LIMIT다음과 같은 조항:

SELECT name, COUNT(*) as frequency
FROM name_table
GROUP BY name
ORDER BY COUNT(*) DESC
LIMIT 25;

더 자세한 정보는GROUP BY절은 MySQL Manual에서 사용할 수 있습니다.

12.2.8 SELECT 구문

언급URL : https://stackoverflow.com/questions/1217244/select-top-distinct-results-ordered-by-frequency

반응형