sql---判断语句

将条件看做三种情况,分别处理

SELECT
	CASE
		WHEN id % 2=1 and id=(select COUNT(*) from Seat) THEN id
		WHEN id % 2=0 THEN id-1
		Else id+1
	END AS id,student
FROM Seat
ORDER BY id;

别人的解法

select rank() over (order by (id - 1) ^ 1) id, student
from Seat
# 这也太厉害了吧!!!
# (id-1)^1 可以实现奇数不变,偶数-2的效果;^1可实现奇数+1,偶数-1
# rank() over 重新排序,从1开始,最后把序号给id

posted on   新freedom  阅读(75)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示