해커랭크 Top Earners 코드 문의
246
작성한 질문수 1
안녕하세요?
해커랭크 문제 중 Top Earners의 코딩 관련 궁금증이 생겨서 문의 드립니다.
저는 해당 문제 를 하기와 같이 쿼리를 짜서 풀었고, Submit했을 때 Accept되었습니다.
그러나 선미님께서는 ORDER BY 구문으로 내림차순을 다시 한번 엮어주셨는데, 꼭 ORDER BY로 묶어줘야 하는 이유가 있을 까요?
GROUP BY 구문에 DESC를 써주었을 때와 ORDER BY 구문을 추가하여 DESC를 써주었을 때의 차이가 있는지 궁금합니다.
** TOP EARNERS 관련 본인 답변:
SELECT salary * months AS earnings, COUNT(*)
FROM Employee
GROUP BY earnings DESC
LIMIT 1
** TOP EARNERS 관련 선미님 해답:
SELECT salary * months AS earnings, COUNT(*)
FROM Employee
GROUP BY earnings
ORDER BY earnings
LIMIT 1
답변 1
0
안녕하세요.
동일하게 동작하는 코드입니다.
하지만 Standard SQL에는 없는 문법이라서 MySQL 이외 다른 DBMS에서는 동작하지 않을 수 있습니다.
MySQL also allows you to sort the groups in ascending or descending orders while the standard SQL does not. The default order is ascending. For example, if you want to get the number of orders by status and sort the status in descending order, you can use the GROUP BY clause with DESC
GROUP BY with DESC: https://www.mysqltutorial.org/mysql-group-by.aspx/
What is Standard SQL? (ANSI, ISO): https://en.wikipedia.org/wiki/SQL
리트코드 1280. Students and Examinations
0
74
3
16강 LEFT JOIN 리트코드 (183. Customers Who Never Order) 관련 질문
0
89
2
African Cities 문제관련 질문
0
53
1
SQL 코딩테스트 질문
0
206
1
HACKER RANK에서 문제찾기
0
96
2
강의 자료 다운로드
0
90
2
Asian population 문제가 없어요
0
76
2
INNER JOIN 에서 A.키 쓸때 빨간 색 나오고 'dause'
0
66
2
별칭 관련해서 질문 있습니다.
0
79
2
rising temperature 문제 질문
0
98
2
해커랭크 TOP EARNERS 문제 질문
0
98
1
ON 뒤에 질문
0
94
2
INNER JOIN 질문. 강의와 결과값이 다릅니다.
0
196
3
END, 뒤에 * 붙이면 에러가 뜹니다
1
203
2
CustomerID가 중복되서 나타나요
0
232
3
별칭이 전체 테이블을 못 불러와요.
0
142
2
CASE WHEN 쿼리 오류 문의
1
324
3
CASE문제풀이 질문
0
124
1
Customers Who Never Order 풀다가 Alias관련 질문사항
0
136
1
Average Population 질문
0
129
1
Revising Aggregations - The Count Function 질문
0
103
1
Average Population of Each Continent 에대해서 질문
0
193
3
w3schools 에서 쿼리 작성 질문
0
159
1
INNER JOIN 할 때 NULL 값이 안보일 수도 있나요?
0
328
1





