답변:
SELECT `column`,
COUNT(`column`) AS `value_occurrence`
FROM `my_table`
GROUP BY `column`
ORDER BY `value_occurrence` DESC
LIMIT 1;
교체 column
및 my_table
. 열의 가장 일반적인 값 1
을 보려면 늘리십시오 N
.
SELECT * FROM my_table GROUP BY value ORDER BY count(*) DESC;
WHERE 'value_occurrence' = 1
않습니까?
HAVING
대신 @swisswiss를 사용해야합니다 WHERE
.
다음과 같이 시도하십시오.
SELECT `column`
FROM `your_table`
GROUP BY `column`
ORDER BY COUNT(*) DESC
LIMIT 1;
COUNT(*)
에서 직접 사용할 수 있는지 몰랐 습니다 ORDER BY
. GROUP BY
/ HAVING
및 집계 열과 관련하여 몇 가지 제한이 있음을 알고 항상 작동하지 않을 것이라고 생각했습니다.
테이블 이름을로 tblperson
, 열 이름을 city
. 도시 열에서 가장 많이 반복되는 도시를 검색하고 싶습니다.
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)
다음 nor
은 별칭 이름입니다.
SQL Server와 함께 사용합니다.
제한 명령 지원이 없기 때문에.
이 경우 상위 1 명령을 사용하여 특정 열에서 발생하는 최대 값을 찾을 수 있습니다 (값).
SELECT top1
`value`,
COUNT(`value`) AS `value_occurrence`
FROM
`my_table`
GROUP BY
`value`
ORDER BY
`value_occurrence` DESC;
LIMIT를 사용할 수 없거나 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
ROWNUM
LIMIT 1
대신 사용 합니다. 구문은 허용되는 답변에 표시됩니다.