场景:在按照条件查询后,排序按照不同的条件排序,以及同一个条件 正序和倒序排序。可以考虑使用。

遇到的排序条件:按照直播的状态,根据条件排序。直播的状态包括:直播、置顶、预告、回放、过期预告。排序条件为:多直播按照 开始时间倒序排序,置顶按照置顶时间正序排序,预告按照离当前时间越近的倒序排序,回放按照开始时间倒序、过期预告按照离当前时间越近正序排序。

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的更多相关文章

  1. 第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case

    第20课-数据库开发及ado.net 可空值类型,资料管理器,多条件查询,Case SqlHelper using System; using System.Collections.Generic; ...

  2. Oracle学习总结_day03_day04_条件查询_排序_函数_子查询

    本文为博主辛苦总结,希望自己以后返回来看的时候理解更深刻,也希望可以起到帮助初学者的作用. 转载请注明 出自 : luogg的博客园 谢谢配合! day03_条件查询_排序_函数 清空回收站: PUR ...

  3. Hibernate条件查询

    设计上可以灵活的根据 Criteria 的特点来方便地进行查询条件的组装.现在对 Hibernate的Criteria 的用法进行总结:Hibernate 设计了 CriteriaSpecificat ...

  4. Hibernate QBC 条件查询(Criteria Queries) and Demos

    目录 创建一个Criteria 实例 限制结果集内容 结果集排序 关联 动态关联抓取 查询示例 投影Projections聚合aggregation和分组grouping 离线detached查询和子 ...

  5. Sql学习笔记(二)—— 条件查询

    上篇简单介绍了一下sql的一些基础增删改查语句,而针对多种多样的查询语句则未详细说明,这一篇继续记录一下关于各种条件查询的知识. 1.按列名进行查询 语句: select stuName , stuA ...

  6. MySQL之单表查询 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER BY 八 限制查询的记录数:LIMIT 九 使用正则表达式查询

    MySQL之单表查询 阅读目录 一 单表查询的语法 二 关键字的执行优先级(重点) 三 简单查询 四 WHERE约束 五 分组查询:GROUP BY 六 HAVING过滤 七 查询排序:ORDER B ...

  7. Rafy 中的 Linq 查询支持(根据聚合子条件查询聚合父)

    为了提高开发者的易用性,Rafy 领域实体框架在很早开始就已经支持使用 Linq 语法来查询实体了.但是只支持了一些简单的.常用的条件查询,支持的力度很有限.特别是遇到对聚合对象的查询时,就不能再使用 ...

  8. [NHibernate]条件查询Criteria Query

    目录 写在前面 文档与系列文章 条件查询 一个例子 总结 写在前面 上篇文章介绍了HQL查询,我个人觉得使用ORM框架就是为了让少些sql,提高开发效率,而再使用HQL就好像还是使用sql,就觉得有点 ...

  9. MySql学习(二) —— where / having / group by / order by / limit 简单查询

    注:该MySql系列博客仅为个人学习笔记. 这篇博客主要记录sql的五种子句查询语法! 一个重要的概念:将字段当做变量看,无论是条件,还是函数,或者查出来的字段. select五种子句 where 条 ...

随机推荐

  1. windows server 2012 valid key

    好吧,网页三剑客. 1, load disc iso 2,check ip settings, 3,net-inst-server-start 4,power Node, F2 4.1 F7 usbc ...

  2. OPENERP 拓展 res.partner 对象,添加QQ号

    公司最近在导入开业物品资料,根据同事的需求,需要在供应商资料中添加QQ号一项,根据前段时间自己摸索的经验,准备自己尝试通过继承完成这一需求. 模块名定义为rainsoft_partner 创建__in ...

  3. Homebrew下安装的软件自启动服务管理工具:Launchrocket

    帮助管理Homebrew安装的服务的软件,比如使用Homebrew安装的Mysql.Redis.MongoDB,传统方式需要使用命令行的命令,而使用LaunchRocket则可以在图形界面中进行管理. ...

  4. Android中Handler的使用方法及实例(基础回顾)

    Handler使用例1 这个例子是最简单的介绍handler使用的,是将handler绑定到它所建立的线程中.本次实验完成的功能是:单击Start按钮,程序会开始启动线程,并且线程程序完成后延时1s会 ...

  5. C/C++中字符串与数字转换

    本文总结了四种字符串和数字相互转换的方法,方法一和方法二是c++中的方法,方法三和方法四是C语言库函数的方法. 方法一:c++11中string中添加了下面这些方法帮助完成字符串和数字的相互转换 st ...

  6. Golang真言

    Don't communicate by sharing memory, share memory by communicating. Concurrency is not parallelism. ...

  7. 09 jdk1.5的并发容器:ConcurrentHashMap

    一 概述 JDK5中添加了新的concurrent包,相对同步容器而言,并发容器通过一些机制改进了并发性能 因为同步容器将所有对容器状态的访问都串行化了,这样保证了线程的安全性,所以这种方法的代价就是 ...

  8. 【转】SQL SERVER 2005/2008 中关于架构的理解

    在一次的实际工作中碰到以下情况,在 SQL SERVER 2008中,新建了一个新用户去访问几张由其他用户创建的表,但是无法进行查询,提示“对象名'CustomEntry' 无效.”.当带上了架构名称 ...

  9. iOS开源项目周报0302

    由OpenDigg 出品的iOS开源项目周报第十期来啦.我们的iOS开源周报集合了OpenDigg一周来新收录的优质的iOS开源项目,方便iOS开发人员便捷的找到自己需要的项目工具等.TodayMin ...

  10. 十一:image 图片

    属性名 类型 默认值 说明 src String   图片资源地址 mode String 'scaleToFill' 图片裁剪.缩放的模式 binderror HandleEvent   当错误发生 ...