sql 排序后把特定数据显示最上面

原因:

有数据一列数据“借出审批中”,“已借出”,“已归还”,“拒绝借用”,我显示排序后的数据并且把状态为“已借出”的数据放在最前面,其它数据按排序规则排好。

那么我们会写select * from 表 order by 字段 (可以加desc),那么排序后的数据为:

   升序         降序

   借出审批中        拒绝借用

   已借出         已归还

   已归还         已借出

   拒绝借用        借出审批中

排序后我们发现不管怎样排序“已借出”都不可能在最前面。

解决:

selec * from 表 order by case when 字段='已借出' then 0 else 1 end

解释:

case when 字段='已借出' then 0 else 1 end 判断字段是否等于"已借出",如果是返回0否则返回1(可嵌套判断)

效果:

       已借出
        拒绝借用
        借出审批中
        已归还

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 25
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值