[SQL] 주문과 SQL 그룹으로
SQL주문과 SQL 그룹으로
나는 태그의 테이블을 가지고 있고 목록에서 가장 높은 카운트 태그 싶어.
이 같은 샘플 데이터 외모
id (1) tag ('night')
id (2) tag ('awesome')
id (3) tag ('night')
사용
SELECT COUNT(*), `Tag` from `images-tags`
GROUP BY `Tag`
제가 완벽하게 찾고 있어요 데이터를 다시 가져옵니다. 그러나, 나는 가장 높은 태그 카운트가 먼저되도록, 그것을 구성하고 단지 나에게 처음 20 정도를 보내도록 제한하고 싶습니다.
나는이 시도 ...
SELECT COUNT(id), `Tag` from `images-tags`
GROUP BY `Tag`
ORDER BY COUNT(id) DESC
LIMIT 20
그리고는 "그룹 함수의 잘못된 사용 - 1111 ErrNr을"점점 계속
내가 도대체 뭘 잘못하고있는 겁니까?
나는 MySQL은 4.1.25-데비안을 사용하고 있습니다
해결법
-
==============================
1.MySQL의 모든 버전에서, 단순히 별명으로 SELECT 목록에서 집계 및 주문 별명 :
MySQL의 모든 버전에서, 단순히 별명으로 SELECT 목록에서 집계 및 주문 별명 :
SELECT COUNT(id) AS theCount, `Tag` from `images-tags` GROUP BY `Tag` ORDER BY theCount DESC LIMIT 20
-
==============================
2.MySQL의 버전 5 이전하지 않았다 ORDER BY 절에 집계 함수를 할 수 있습니다.
MySQL의 버전 5 이전하지 않았다 ORDER BY 절에 집계 함수를 할 수 있습니다.
당신은 사용되지 않는 구문이 제한 주위에 얻을 수 있습니다 :
SELECT COUNT(id), `Tag` from `images-tags` GROUP BY `Tag` ORDER BY 1 DESC LIMIT 20
1, 그것은 당신이 그룹에 원하는 첫 번째 열 이후.
-
==============================
3.나는 MySQL의에 대해 잘 모르지만, MS SQL, 당신은 ORDER BY 절에서 열 인덱스를 사용할 수 있습니다. 나는 함께 작동하도록 쉽게하는 경향으로 그룹 총격 사건으로 계산을 할 때 전에이 작업을 완료했습니다.
나는 MySQL의에 대해 잘 모르지만, MS SQL, 당신은 ORDER BY 절에서 열 인덱스를 사용할 수 있습니다. 나는 함께 작동하도록 쉽게하는 경향으로 그룹 총격 사건으로 계산을 할 때 전에이 작업을 완료했습니다.
그래서
SELECT COUNT(id), `Tag` from `images-tags` GROUP BY `Tag` ORDER BY COUNT(id) DESC LIMIT 20
이되다
SELECT COUNT(id), `Tag` from `images-tags` GROUP BY `Tag` ORDER 1 DESC LIMIT 20
-
==============================
4.오라클에서는이 같은 귀하의 계산을 분리하고 더 나은 약간을 주문하기 위해 잘 작동합니다. 그것은 MySQL의 4에서 작동합니다 있는지 확실하지 않습니다.
오라클에서는이 같은 귀하의 계산을 분리하고 더 나은 약간을 주문하기 위해 잘 작동합니다. 그것은 MySQL의 4에서 작동합니다 있는지 확실하지 않습니다.
select 'Tag', counts.cnt from ( select count(*) as cnt, 'Tag' from 'images-tags' group by 'tag' ) counts order by counts.cnt desc
-
==============================
5.이 구문은 전혀 사용되지되지 않으며, 그것은 SQL99에서 E121-03을합니다.
이 구문은 전혀 사용되지되지 않으며, 그것은 SQL99에서 E121-03을합니다.
-
==============================
6.이 쿼리
이 쿼리
SELECT data_collector_id , count (data_collector_id ) as frequency from rent_flats where is_contact_person_landlord = 'True' GROUP BY data_collector_id ORDER BY count(data_collector_id) DESC
from https://stackoverflow.com/questions/27983/sql-group-by-with-an-order-by by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] PostgreSQL의 : 어떤 데이터 유형은 환율에 사용되어야 하는가? (0) | 2020.04.23 |
---|---|
[SQL] MySQL의 워크 벤치 : 살아 연결을 유지하는 방법 (0) | 2020.04.23 |
[SQL] 어떻게 PostgreSQL을 범주별로 최대 날짜 그룹 ID를 선택하려면? (0) | 2020.04.23 |
[SQL] C #을 사용 SQL 형식으로 날짜 시간 형식 (0) | 2020.04.23 |
[SQL] 어떻게 사용합니까 ROW_NUMBER ()? (0) | 2020.04.23 |