case when 自定义排序时的使用

根据 case when 新的 sort字段排序

    case
when t2.status = 4
and t2.expire_time>UNIX_TIMESTAMP()
and t2.expire_time<UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 60 day)) then 4
when `status` = 2 then 3
when `status` = 3 then 2
when t2.status = 4
and t2.expire_time>UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 60 day))
and t2.expire_time<UNIX_TIMESTAMP(DATE_ADD(NOW(),INTERVAL 1 year)) then 1
else 0
end sort $query->orderBy('sort desc ,t2.expire_time desc,t2.created_at desc');
  • 当colume 与condition 条件相等时结果为result
case colume
when condition then result
when condition then result
when condition then result
else result
end

  • 当满足某一条件时,执行某一result

case
when condition then result
when condition then result
when condition then result
else result
end

  • 当满足某一条件时,执行某一result,把该结果赋值到new_column_name 字段中
case
when condition then result
when condition then result
when condition then result
else result
end new_column_name

case when 用在select 语句中,新的字段new_column_name可以用来排序,但是不能用在where中





end 后面加as new_colume_name

最新文章

  1. 9月9日下午HTML样式表(宽度和高度、背景字体、对齐方式边界与边框)
  2. Ubuntu 14.10 下卸载MySQL
  3. 统计0到n之间1的个数
  4. php 中json_decode()和json_encode()的使用方法
  5. 【转】JavaScript中的constructor与prototype
  6. The equation - SGU 106(扩展欧几里得)
  7. HTML5简易在线画图工具
  8. MySQL分区表的局限和限制
  9. python常用模块详解
  10. 做了这么多年java开发,关于 Long 和 BigDecimal 的相等比较,你可不一定能准确回答下面 26 个问题
  11. JMeter在linux服务器上使用
  12. MySQL常见报错汇总
  13. [原]unity5 AssetBundle 加载
  14. Windows Server 2016 路由和远程访问
  15. PowerShell下载文件
  16. 2017-2018-1 20155202 张旭 嵌入式C语言——时钟提取时分秒
  17. 转 如何在IOS设备中去掉屏幕上的status bar
  18. ubuntu安装chrome浏览器
  19. xapp1052之dma_test.v
  20. java猫和猫的名字

热门文章

  1. iOS10 语音播报填坑详解(解决串行播报中断问题)
  2. Mysql-数据的完整性约束
  3. CentOS7.6离线安装JDK1.8
  4. jQuery+zTree
  5. 4. HTML表单标签
  6. [译]C语言实现一个简易的Hash table(4)
  7. 内置函数--eval
  8. 【非原创】Game23
  9. PTA(BasicLevel)-1010 一元多项式求导
  10. 微信小程序 request请求封装