1. 首页
  2. 数据库
  3. Oracle
  4. Oracle SQL座位交换练习题答案分享

Oracle SQL座位交换练习题答案分享

上传者: 2023-05-03 01:46:15上传 DOCX文件 139.3KB 热度 12次

Oracle SQL练习题39题的答案,题目要求交换每两个连续学生的座位号,并按id升序返回结果表。如果学生数量为奇数,则最后一个学生的id不交换。SQL语句如下: SELECT CASE WHEN MOD(id,2)=1 AND id=(SELECT COUNT(*) FROM seat) THEN id WHEN MOD(id,2)=1 THEN id+1 ELSE id-1 END id,student FROM seat ORDER BY id; SELECT RANK() OVER(ORDER BY (CASE WHEN MOD(id,2)=0 THEN id-1 ELSE id+1 END)) id,student FROM seat;

下载地址
用户评论