MySQL排序中使用CASE WHEN的方法示例
前言
在之前的一个项目中,使用到了SQL中使用 CASE WHEN 排序的功能。现在写篇博客备忘~
数据库版本:MySQL 5.6.42
条件:
某字段代表该数据的状态取值为非负整数,0表示无状态。
需求:
以该字段升序排序,同时需要将值为0的数据放在最后。
首先我们看一下,表的结构:
正常的使用升序查询结果是这样的:
要让“小赤”排在最后,可以这样写:
也可以这样:
还可以使用 CASE WHEN 再不影响查询结果的前提下,改变排序的依据:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对我们的支持。
相关推荐
-
sql学习之CASE WHEN THEN ELSE END的用法
超强:SQL命令中的case...when...then...else...end条件查询(不同于where) 与 类型转换的用法 case...when...then...else...end,是在from前面,可以改变记录中某字段的值,不能决定是否显示该记录: where,是在from后面,不可以改变记录中某字段的值,但可以决定是否显示该记录. case...when...then...else...end,可用于对同一记录的多个字段求和,带分支判断. 另外,对字段判断和处理,往往需要强制类
-
mysql case when group by 实例详解
mysql 中类似php switch case 的语句. select xx字段, case 字段 when 条件1 then 值1 when 条件2 then 值2 else 其他值 END 别名 from 表名; 下面是一个分组求和示例: select sum(redpackmoney) as stota,ischeck from t_redpack group by isCheck 使用case when : select sum(redpackmoney) as stota, (CAS
-
sql 中 case when 语法使用方法
没有,用case when 来代替就行了. 例如,下面的语句显示中文年月 复制代码 代码如下: select getdate() as 日期,case month(getdate()) when 11 then '十一' when 12 then '十二' else substring('一二三四五六七八九十', month(getdate()),1) end+'月' as 月份 CASE 可能是 SQL 中被误用最多的关键字之一.虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法.例
-
sum(case when then)(判断男女生的个数)
判断类似一个班级的男生和女生的人数,用sum (cese when then ) 复制代码 代码如下: select count(er.execute_result), sum(case er.execute_result when 1 then 1 else 0 end) completed, sum(case er.execute_result when 0 then 1 else 0 end) notCompleted from taw_wp_execute_result er ; 复制代
-
MySQL中使用case when 语句实现多条件查询的方法
举例如下: 数据表为DemoTable,字段有id, condition1,condition2,condition3,condition4,condition5 要求是查询DemoTable中,condition1,condition2,condition3,condition4,condition5五个字段中符合任意两个或两个以上的条件的内容. 可使用case when来实现这个条件,需要嵌套子查询语句 sql语句代码示例如下: 复制代码 代码如下: SELECT * FROM DemoTa
-
MySQL 的CASE WHEN 语句使用说明
mysql数据库中CASE WHEN语句. case when语句,用于计算条件列表并返回多个可能结果表达式之一. CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果. CASE 搜索函数计算一组布尔表达式以确定结果. 两种格式都支持可选的 ELSE 参数. 语法简单 CASE 函数: 复制代码 代码如下: CASE input_expression WHEN when_expression THEN result_expression
-
浅析SQL语句行列转换的两种方法 case...when与pivot函数的应用
/*创建数据库*/ CREATE DATABASE tmp go USE tmp go /*创建数据库测试表*/ CREATE TABLE [Scores] ( [ID] INT IDENTITY(1, 1) PRIMARY KEY , [Student] VARCHAR(20) , [Subject] VARCHAR(30) , [Score] FLOAT ) go TRUNCATE TABLE Sc
-
SQL集合函数中case when then 使用技巧
那么在集合函数中它有什么用呢 ? 假设数据库有一张表名为student的表. 如果现在要你根据这张表,查出江西省男女个数,广东省男生个数,浙江省男女个数 怎么写SQL语句?即要生成下结果表 答案是:select sex ,count ( case province when '广东省' then '广东省' end )as 广东省 ,count ( case province when '江西省' then '江西省' end )as 江西省 ,count ( case province whe
-
MySQL的CASE WHEN语句的几个使用实例
使用CASE WHEN进行字符串替换处理 复制代码 代码如下: mysql> select * from sales; 9 rows in set (0.01 sec) SELECT name AS Name, CASE category WHEN "Holiday" THEN "Seasonal" WHEN "Profession" THEN "Bi_annual" WHEN "Lit
-
关于case when语句的报错问题详解
前言 在mysql数据库中,有时候我们会使用到类似if else的判断操作.那么mysql中怎么处理这种需求呢? mysql 判断操作一种语法: case ..when语句 但最近在使用的时候遇到了一个问题,下面话不多说了,来一起看看详细的介绍吧 直接说明问题.我有一张存储身份证号码的表id_card_message,表结构和数据如下(MySQL5.7.14): mysql> select * from id_card_message; +------+--------------------+
随机推荐
- 最新Bitdefender Antivirus 10注册码列表
- Mac OS X10.9安装的Python2.7升级Python3.3步骤详解
- C#编程自学之数据类型和变量二
- PHP实现统计在线人数功能示例
- PHP5 面向对象程序设计
- php生成随机数的三种方法
- 使用PHP实现Mysql读写分离
- PHP生成HTML静态页面实例代码
- 详解Python中for循环的使用方法
- 揭秘在ListView等AdapterView上动态添加删除项的陷阱
- Shell中实现“多线程”执行脚本文件完美解决方案
- JS中批量给元素绑定事件过程中的相关问题使用闭包解决
- Java并发编程之volatile变量介绍
- Windows2003网络服务器安全攻略
- 看UNIX高手的10个习惯第1/2页
- Linux系统“死机”时解决方法
- 基于C语言中段错误的问题详解
- C#委托delegate实例解析
- spring security自定义认证登录的全过程记录
- Python进程间通信Queue实例解析