SQL语句 ORDER BY 多条件排序优先级(嵌套if语句)
需求
需求是,先根据A字段排序,排好序后得到一系列结果。然后再根据得到的结果根据B字段排序,得到最终结果。
按照这样排好序的顺序是这样的:把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部。
举个例子:
现在有一张博客表,我想先根据id排好序,然后再根据是否推荐(recommend字段为1就是推荐,0就是不推荐)排序。最后期望排序结果如下图所示:
可以看到,两者都进行了排序,但是优先级是 recommend > id。
SQL代码
废话不多说直接上代码:
SELECTb.`title`,b.`id`,b.`recommend`
FROMt_blog bORDER BY IF (b.`recommend`='1',0,1),b.`id` DESC
就是使用ORDER BY配合IF语句
这里需要注意:
IF (b.recommend=‘1’,0,1),b.id
这句话的意思是,我对id进行排序的同时,给id附加一个隐藏属性,这个隐藏属性,可以是0或者1
什么意思呢?就是在对id排序的时候,优先级是判断recommend是否为1,如果是,返回0,如果不是,返回1.
随后,先进行recommend属性的排序,隐藏属性拍完以后,再进行剩余id的排序,最终得到排序结果
本文部分参考:MySQL ORDER BY IF() 及多条件排序
SQL语句 ORDER BY 多条件排序优先级(嵌套if语句)相关推荐
- Order by 多条件排序
首先了解一下基础知识: order by可以按一个或多个(最多16个)字段排序查询结果,可以是升序(ASC)也可以是降序(DESC),如果缺省,则是升序. order by中如果定义了多个字段,则按照 ...
- python的基本语法if语句_Python基础之条件控制操作示例【if语句】
本文实例讲述了Python基础之条件控制操作.分享给大家供大家参考,具体如下: if 语句 Python中if语句的一般形式如下所示: if condition_1: statement_block_ ...
- MySQL ORDER BY IF() 条件排序
在做sqlzoo的时候,碰到一个SQL的排序问题,他把符合条件的单独几行,可以放在查询结果的开始,或者查询结果的尾部 通过的方法就是IN语句(也可以通过IF语句) 自己做了个测试,如下,这个是表的所有 ...
- mysql order by if()或order by in()条件排序
转载自:https://blog.csdn.net/weixin_38626799/article/details/80107697 在做sqlzoo的时候,碰到一个SQL的排序问题,他把符合条件的单 ...
- 记录一次SQL语句ORDER BY 排序失效的问题
我在工作中用到了借助SQL实现ORDER BY的多字段排序,但由于对 SQL 的语法了解不够导致踩到一个坑,这里做一下记录. 我的SQL 类似于下面这样: SELECT * FROM table1 O ...
- Python基础学习第三天——条件控制与while循环语句
条件控制语句 1. 条件判断语句 当今世界,很多智能设备,极大方便了我们的生活.比如某种智能空调的设定为:如果室温高于32度就自动打开.这个如果--就--的逻辑就是条件判断.而如果--就--这种最基本 ...
- Java基础篇:嵌套 switch 语句
可以将一个switch语句作为一个外部switch语句的语句序列的一部分,这称为嵌套switch语句.因为一个switch语句定义了自己的块,外部switch语句和内部switch语句的case常量不 ...
- MYSQL数据库(十)- 数据表的插入(insert)、删(delete)、改(update)、查(select)、group by 分组、having语句设置分组条件,order by查询结果排序,
目录结构 本章目录 一.插入insert: 方法一:insert标准插入数据写法 方法二:set插入数据写法 方法三:请看本章最后一个案例 二.插入update: 方法一:单表更新记录 方法二:多表更 ...
- SQL语句按照姓名首字母排序
Mysql 前言 UTF-8 GBK 前言 最近小咸儿做项目,根据业务需求,需要将查出来的人员姓名按照拼音首字母进行排序,小咸儿选择在SQL语句上对姓名字段进行排序,这样查出来的人员就已经是排好序 ...
最新文章
- Failed to load module canberra-gtk-module错误的解决方案
- 用html编辑csdn的方法
- python学习并发编程
- ajax联系人数,setInterval定时调用ajax实现在线人数统计
- 前端学习(1399):多人管理19项目拦截器
- win10录屏工具_win10录屏软件选哪款?没用过别后悔
- 关于容量设计、规划、治理 你知多少?
- 【hue】 hue+sentry界面没有添加角色的按钮
- P1070 道路游戏
- linux命令及其使用方法,Linux命令及其使用方法
- html和flash播放器区别,flash播放器和一般播放器有什么区别
- 使用pandoc 生成带中文的pdf
- 如何通过Python制作日历壁纸
- 开发一款好玩的地图app
- [实验室每日一题][20201124][Zip已知明文攻击]
- jQuery实现的地址选择
- 2022深圳杯A题论文
- 中科柏诚获“专精特新”称号,把一件事做到极致就是价值
- 4.Wireshark下载安装和使用教程
- 微型计算机的发展是以何种技术为特征标志的?微处理器
热门文章
- 音频如何分割成两段音频?这些实用方法值得收藏
- 三星i9220卡刷的刷机教程
- 灵魂课程 | 《许岑 | 如何成为有效学习的高手》
- hadoop集群正常启动,却无法访问web页面
- 电机控制系统php,NXP电机控制源代码库,最新版本,有参考价值
- mysql语句,根据传入的经纬度,查询距离最近的地点和距离
- Node-RED通过npm安装的方式对应卸载
- Vue-Vant—纯JS实现rem与px换算
- x平方检验计算_x2检验(chi-square test)或称卡方检验
- 别让甲醛检测仪继续“野蛮生长”