leetcode-换座位

# Write your MySQL query statement belo
select (case
    when mod(id,2) = 1 and id != (select count(*) from seat) then id+1
    when mod(id,2) = 0 then id-1
    when mod(id,2) = 1 and id=(select count(*) from seat) then id end
) as id,student from seat order by id

题意是table中row两两交换。

解题思路:很暴力,如果id是奇数的行id+1,id是偶数的行id-1,最后一行如果是奇数就不变。最后在对这些row进行排序。

用到的一些关键字:

        case when:可以用于写条件语句。格式是: case when ........ case when ....... then         需要注意每一个case when写完后都不需要加上符号,但最后一个case when需要加上end。并且常见的,case when语句被包裹在()中外面加一层as 某属性,如上

 

       order by : 我的这条语句最后是order by id。很容易推测出order by是在select 后面执行的。

 

sql执行语句顺序;

   from->join->where->group by->having->select -> order by

     

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值