개수 별 SQL 순서
다음과 같은 테이블과 데이터가있는 경우 :
ID | Name | Group
1 Apple A
2 Boy A
3 Cat B
4 Dog C
5 Elep C
6 Fish C
A-2 레코드, B-1 레코드, C-3 레코드와 같이 가장 작은 값에서 가장 큰 값까지 Group의 총계에 따라 주문하고 싶습니다.
3 Cat B
1 Apple A
2 Boy A
4 Dog C
5 Elep C
6 Fish C
나는 시도했다
$sql = "SELECT ID,Name FROM table ORDER BY COUNT(Group)";
그러나 그것은 나를 위해 하나의 결과를 반환합니다.
힌트가 있습니까? 감사합니다.
먼저 데이터를 집계해야합니다. 이는 GROUP BY 절을 사용하여 수행 할 수 있습니다.
SELECT Group, COUNT(*)
FROM table
GROUP BY Group
ORDER BY COUNT(*) DESC
DESC 키워드를 사용하면 가장 높은 수를 먼저 표시하고 기본적으로 ORDER BY를 오름차순으로 표시하여 가장 낮은 수를 먼저 표시 할 수 있습니다.
시도해보십시오 :
SELECT count(*),group FROM table GROUP BY group ORDER BY group
내림차순으로 주문하려면
SELECT count(*),group FROM table GROUP BY group ORDER BY count(*) DESC
이 의지 그룹은에 의해 결과 group
열은 반환 group
과를 count
하고 순서를 반환 group
하기 위해
SELECT * FROM table
group by `Group`
ORDER BY COUNT(Group)
SELECT Group, COUNT(*) FROM table GROUP BY Group ORDER BY Group
또는 개수로 주문
SELECT Group, COUNT(*) AS count FROM table GROUP BY Group ORDER BY count DESC
... 다른 답변은 질문자가 요청한 것을 수행하지 않는 것 같습니다.
For table named 'things' with column 'group':
SELECT
things.*, counter.count
FROM
things
LEFT JOIN (
SELECT
things.group, count(things.group) as count
FROM
things
GROUP BY
things.group
) counter ON counter.group = things.group
ORDER BY
counter.count ASC;
which gives:
id | name | group | count
---------------------------
3 | Cat | B | 1
1 | Apple | A | 2
2 | Boy | A | 2
4 | Dog | C | 3
5 | Elep | C | 3
6 | Fish | C | 3
Try using below Query:
SELECT
GROUP,
COUNT(*) AS Total_Count
FROM
TABLE
GROUP BY
GROUP
ORDER BY
Total_Count DESC
Below gives me opposite of what you have. (Notice Group column)
SELECT
*
FROM
myTable
GROUP BY
Group_value,
ID
ORDER BY
count(Group_value)
Let me know if this is fine with you...
I am trying to get what you want too...
Q. List the name of each show, and the number of different times it has been held. List the show which has been held most often first.
event_id show_id event_name judge_id
0101 01 Dressage 01
0102 01 Jumping 02
0103 01 Led in 01
0201 02 Led in 02
0301 03 Led in 01
0401 04 Dressage 04
0501 05 Dressage 01
0502 05 Flag and Pole 02
Ans:
select event_name, count(show_id) as held_times from event
group by event_name
order by count(show_id) desc
참고URL : https://stackoverflow.com/questions/9545637/sql-order-by-count
'Program Tip' 카테고리의 다른 글
ASP.NET MVC에서 부분보기 용 컨트롤러 만들기 (0) | 2020.12.07 |
---|---|
미디어 플레이어 루핑 : Android (0) | 2020.12.07 |
활성 레코드 마이그레이션 레일의 has_many, belongs_to 관계 4 (0) | 2020.12.07 |
Snake 케이스를 Lower Camel Case로 변환 (lowerCamelCase) (0) | 2020.12.07 |
OrderedDict 이해 (0) | 2020.12.07 |