SQL -- leetcode 626. 자리 바 꾸 기

1196 단어 SQL
소 미 는 중학교 의 정보 기술 선생님 으로 한 장 을 가지 고 있다.  seat  좌석 표 는 평소에 학생 이름과 그들 에 대응 하 는 좌석 id 를 저장 하 는 데 쓰 인 다.
그 중 종 렬 의 id 계속 늘 어 나 는 거 예요.
소 미 는 이웃 두 학생 의 자 리 를 바 꾸 려 고 한다.
너 는 그녀 가 SQL query 를 쓰 는 것 을 도와 줄 수 있 니? 샤 오미 가 원 하 는 결 과 를 출력 해 볼 까요?
 
예시:
+---------+---------+
|    id   | student |
+---------+---------+
|    1    | Abbot   |
|    2    | Doris   |
|    3    | Emerson |
|    4    | Green   |
|    5    | Jeames  |
+---------+---------+

만약 데이터 가 위의 표 에 입력 된다 면 출력 결 과 는 다음 과 같 습 니 다.
+---------+---------+
|    id   | student |
+---------+---------+
|    1    | Doris   |
|    2    | Abbot   |
|    3    | Green   |
|    4    | Emerson |
|    5    | Jeames  |
+---------+---------+

주의:
학생 수가 홀수 라면 마지막 친구 의 자 리 를 바 꿀 필요 가 없다.
유 니 온 으로 세 가지 상황 을 직접 고려 합 니 다.
# Write your MySQL query statement below
select p.id,p.student from(
select id+1 as id,student from seat where id%2=1 and id!=(select count(*) from seat)
union select id-1 as id,student from seat where id%2=0
union select id,student from seat where id%2=1 and id=(select count(*)from seat)
)p order by id

좋은 웹페이지 즐겨찾기