[SQL] 값 당 COUNT에 의해 주문
SQL값 당 COUNT에 의해 주문
나는 ID를 저장하는 테이블과 상점이있는 도시가있다.
나는 대부분의 상점이있는 곳 도시에있는 가게로 시작하는 모든 상점을 나열합니다.
표
ID CITY
1 NYC
2 BOS
3 BOS
4 NYC
5 NYC
나는 뉴욕에있는 대부분의 상점이 있기 때문에 내가 원하는 출력 내가 모든 뉴욕의 위치를 먼저 나열하려면, 다음과 같다.
1 NYC
4 NYC
5 NYC
2 BOS
3 BOS
해결법
-
==============================
1.
SELECT count(City), City FROM table GROUP BY City ORDER BY count(City);
또는
SELECT count(City) as count, City FROM table GROUP BY City ORDER BY count;
아, 미안 해요, 난 당신의 질문을 잘못 해석했다. 나는 피터 랭 가문 대답은 올바른이었다 생각합니다.
-
==============================
2.이 사람은 그 수 (SQL-바이올린)하여 및 주문을 결합, 별도의 쿼리의 수를 계산합니다 :
이 사람은 그 수 (SQL-바이올린)하여 및 주문을 결합, 별도의 쿼리의 수를 계산합니다 :
SELECT c.id, c.city FROM cities c JOIN ( SELECT city, COUNT(*) AS cnt FROM cities GROUP BY city ) c2 ON ( c2.city = c.city ) ORDER BY c2.cnt DESC;
-
==============================
3.이 솔루션은 테이블이 매우 큰 경우는 실행 시간이 좀 걸릴 것입니다, 그래서 아주 최적 아니다 그러나 당신이 무엇을 요구한다.
이 솔루션은 테이블이 매우 큰 경우는 실행 시간이 좀 걸릴 것입니다, 그래서 아주 최적 아니다 그러나 당신이 무엇을 요구한다.
select c.city, c.id, (select count(*) as cnt from city c2 where c2.city = c.city) as order_col from city c order by order_col desc
그것은 당신이 당신이 그 도시가 데이터베이스에서 발생하는 횟수를 계산하는 건너하는 각 도시에 대한 것입니다.
면책 조항 :이 당신을 위해 무엇을 요구 제공하지만 행의 수가 너무 커질 것입니다 생산 환경을 위해 추천하지 않을 것입니다.
-
==============================
4.
SELECT `FirstAddressLine4`, count(*) AS `Count` FROM `leads` WHERE `Status`='Yes' AND `broker_id`='0' GROUPBY `FirstAddressLine4` ORDERBY `Count` DESC LIMIT 0, 8
from https://stackoverflow.com/questions/2283305/order-by-count-per-value by cc-by-sa and MIT license
'SQL' 카테고리의 다른 글
[SQL] 데이터베이스에서 가장 가까운 숫자 값을 찾기 (0) | 2020.04.14 |
---|---|
[SQL] SQL WHERE 절 후행 공백 매칭 값 (0) | 2020.04.14 |
[SQL] 펑션에서 저장 프로 시저를 실행합니다 (0) | 2020.04.14 |
[SQL] SQLSTATE [42000] : 구문 오류 또는 액세스 위반 : 당신은 당신의 SQL 구문에 오류가 1064 - PHP - PDO [중복] (0) | 2020.04.14 |
[SQL] SQL에서 상단 및 제한 키워드의 차이 (0) | 2020.04.14 |