Notice
Recent Posts
Recent Comments
Link
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 코딩테스트연습
- Labor Management System
- 데이터분석
- tensorflow
- 코딩테스트
- ModelCheckPoint
- oracle
- 파이썬
- Gaimification
- ProfileReport
- 피그마인디언
- pandas profiling
- 프로그래머스
- TensorFlowGPU
- Product Demand
- SKU Consolidation
- 딥러닝
- ABC Analysis
- leetcode
- 당신의 인생이 왜 힘들지 않아야 한다고 생각하십니까
- Inventory Optimization
- MS SQL Server
- SQL
- MySQL
- eda
- kaggle
- 웨어하우스 보관 최적화
- 신경쓰기의 기술
- HackerRank
- forecast
Archives
- Today
- Total
오늘도 배운다
626. Exchange Seats / LeetCode, SQL, MySQL 본문
문제
source: LeetCode
Write an SQL query to swap the seat id of every two consecutive students. If the number of students is odd, the id of the last student is not swapped.
Return the result table ordered by id in ascending order.

제출답안(MySQL)
SELECT
ROW_NUMBER() OVER (ORDER BY FLOOR((id+1)/2), MOD(id, 2)) AS id,
student
FROM seat
풀이(MySQL)
더보기
홀수, 짝수 id 한 쌍 씩 구분 / 쌍 내에서 짝수를 구분할 수 있는 가상의 칼럼 생성
FLOOR((id+1)/2)
>> 1, 2번 행의 값은 0 을 반환하고 3, 4번 행의 값은 1을 반환함
MOD(id, 2)
>> id가 홀수이면 1, 짝수이면 2를 반환함
짝수 구분하는 수와 홀짝을 구분하는 숫자를 기준으로 정렬 후 row 번호를 정렬된 순서대로 부
SELECT
ROW_NUMBER() OVER (ORDER BY FLOOR((id+1)/2), MOD(id, 2)) AS id,
student
FROM seat
>>
문제 바로가기(MySQL)
728x90
'코딩테스트연습(SQL)' 카테고리의 다른 글
| 1527. Patients With a Condition / LeetCode, SQL, MySQL (0) | 2023.03.11 |
|---|---|
| 1393. Capital Gain/Loss / Leet Code, SQL, MySQL (0) | 2023.03.10 |
| 1158. Market Analysis I / LeetCode, SQL, MySQL (0) | 2023.03.06 |
| 184. Department Highest Salary / LeetCode, SQL, MySQL (0) | 2023.03.05 |
| 177. Nth Highest Salary / LeetCode, SQL, MySQL (0) | 2023.03.05 |
Comments