order by 多条件查询 case when
场景:在按照条件查询后,排序按照不同的条件排序,以及同一个条件 正序和倒序排序。可以考虑使用。
遇到的排序条件:按照直播的状态,根据条件排序。直播的状态包括:直播、置顶、预告、回放、过期预告。排序条件为:多直播按照 开始时间倒序排序,置顶按照置顶时间正序排序,预告按照离当前时间越近的倒序排序,回放按照开始时间倒序、过期预告按照离当前时间越近正序排序。
sql语句为:
SELECT
l.id,
l.title,
l.description,
l.picture,
l.is_dist_public,l.pre_start_time,
l.create_time,
(
CASE
WHEN l.live_status = 'NOTICE' THEN
date_format(
l.pre_start_time,
'%Y-%m-%d %H:%i:%s'
)
ELSE
date_format(
l.start_time,
'%Y-%m-%d %H:%i:%s'
)
END
) start_time,
r.top_time,
l.category,
l.live_status,
l.create_user,
l.zm_account_id,
l.source,
(
CASE
WHEN l.live_status = 'LIVING' THEN WHEN (
r.is_top =
AND l.live_status <> 'LIVING'
) THEN WHEN l.live_status = 'NOTICE'
AND pre_start_time >= now() THEN WHEN l.live_status = 'NOTICE'
AND pre_start_time < now() THEN WHEN l.live_status = 'PLAYBACK' THEN END
) AS sort,
r.is_top
FROM
live l
LEFT JOIN live_zm_account_rel r ON r.live_id = l.id
AND l.live_status != 'PRE_LIVE'
WHERE
=
AND r.is_enabled =
AND r.is_delete =
AND l.is_enabled =
AND l.is_delete =
AND r.zm_account_id = '9f7aa1cec50e4b368e69c4f5c14c3fcf'
ORDER BY
sort ASC, CASE WHEN sort = then l.start_time END DESC, CASE WHEN sort = then r.top_time END DESC, CASE WHEN sort = then l.pre_start_time END ASC, CASE WHEN sort = then l.start_time END DESC, CASE WHEN sort = then l.pre_start_time END DESC LIMIT
CASE when then 注意一点:后面的排序条件就是 你最终的排序条件。
order by 多条件查询 case when的更多相关文章
- 第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case
第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case SqlHelper using System; using System.Collections.Generic; ...
- Oracle学习总结_day03_day04_条件查询_排序_函数_子查询
本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...
- Hibernate条件查询
设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 Hibernate的Criteria 的用法进行总结:Hibernate 设计了 CriteriaSpecificat ...
- Hibernate QBC 条件查询(Criteria Queries) and Demos
目录 创建一个Criteria 实例 限制结果集内容 结果集排序 关联 动态关联抓取 查询示例 投影Projections聚合aggregation和分组grouping 离线detached查询和子 ...
- Sql学习笔记(二)—— 条件查询
上篇简单介绍了一下sql的一些基础增删改查语句,而针对多种多样的查询语句则未详细说明,这一篇继续记录一下关于各种条件查询的知识. 1.按列名进行查询 语句: select stuName , stuA ...
- MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询
MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...
- Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)
为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...
- [NHibernate]条件查询Criteria Query
目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...
- MySql学习(二) —— where / having / group by / order by / limit 简单查询
注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条 ...
随机推荐
- Zynq-7000 FreeRTOS(二)中断:PL中断请求
总结Zynq-7000的PL发送给PS一个中断请求,为FreeRTOS中断做准备. UG585的P225显示了系统的中断框图,如下图所示. 图:ZYNQ器件的中断框图 UG585的P227画出来中断控 ...
- 非常不错的app和网站
置顶: word.pdf之间相互转换的网站: https://www.addpdf.cn 很棒啊 1. Global Potplayer 这个软件简直了,播放各种视频, 无论是本地的,还是在线的,都非 ...
- php实现函数可变参数列表
使用func_get_args().func_num_args().func_get_arg() 可以构造一个可变参数列表的函数. 首先大致介绍以上三个函数. (1)array func_get_ar ...
- ../../build/debug/codegen/libCodeGen.a(llvm-codegen.cc.o ):( data.rel.ro_ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_6WeakVHENS_14ValueMapConfigIS3_EEEE[_ZTIN4llvm18ValueMapCallbackVHIPKNS_5ValueENS_
解决方式如下: wget http://llvm.org/releases/3.3/llvm-3.3.src.tar.gz tar xvzf llvm-3.2.src.tar.gz cd ...
- Kubernetes是什么
目录 简介 主要概念: 总体结构 参考 Kubernetes概念 简介 kubernetes是一个Google开源的容器编排系统,用于自动部署,扩展和管理容器化应用程序. 随处运行:支持公有云,私有云 ...
- HDU1596 find the safest road
find the safest road XX星球有很多城市,每个城市之间有一条或多条飞行通道,但是并不是所有的路都是很安全的,每一条路有一个安全系数s,s是在 0 和 1 间的实数(包括0,1),一 ...
- FocusBI:地产分析&雪花模型
微信公众号:FocusBI关注可了解更多的商业智能.数据仓库.数据库开发.爬虫知识及沪深股市数据推送.问题或建议,请关注公众号发送消息留言;如果你觉得FocusBI对你有帮助,欢迎转发朋友圈或在文章末 ...
- js 继承介绍
js中继承的方式并不是明确的,这里介绍常用的几种 一.对象冒充(构造函数绑定) 原理:使用对象冒充继承基类,实质上是使用call或apply方法改变this 指针的指向 function Monkey ...
- IOS打开pdf文件
下了一个打开pdf的第三方,就是打开之后不能缩放.今天上午修改了下试着可以让它能够缩放,在网上查了下,要实现代理方法,写了下,可调试的时候用两个手指不起作用,以为是写的有问题,最后问了下小伙伴.我也在 ...
- iOS开源项目周报0302
由OpenDigg 出品的iOS开源项目周报第十期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等.TodayMin ...