MySQL case when 用法 详细举例,可创建数据演示

首先我们创建数据库表:

CREATE TABLE `t_demo` (
  `id` int(32) NOT NULL,
  `name` varchar(255) DEFAULT NULL,
  `age` int(2) DEFAULT NULL,
  `num` int(3) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;

插入数据:

INSERT INTO `t_demo` VALUES (‘1‘, ‘张三‘, ‘21‘, ‘69‘);
INSERT INTO `t_demo` VALUES (‘2‘, ‘李四‘, ‘22‘, ‘98‘);
INSERT INTO `t_demo` VALUES (‘3‘, ‘王五‘, ‘20‘, ‘54‘);
INSERT INTO `t_demo` VALUES (‘4‘, ‘赵甜‘, ‘22‘, ‘80‘);

MySQL case when 用法

SELECT
    *,
CASE
    WHEN t.num >= 85 THEN
        ‘优秀‘
    WHEN t.num < 90 AND t.num>= 60 THEN
        ‘一般‘
    ELSE
        ‘不及格‘
    END AS level
FROM
    t_demo t;

查询结构:

?

原文地址:https://www.cnblogs.com/zhaixingzhu/p/12569288.html

时间: 2024-10-12 17:35:38

MySQL case when 用法 详细举例,可创建数据演示的相关文章

MySQL replace into 用法详细介绍

MySQL replace into 用法(insert into 的增强版) 在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在: 2. 如果不存在,则插入:3.如果存在,则更新. 在 SQL Server 中可以这样处理: if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time

Mysql CASE WHEN 用法

select sum(1) as col_0_0_, sum(case vciinfo.useable when -1 then 1 else 0 end) as col_1_0_, sum(case when vciinfo.activatetime is null then 0 else 1 end) as col_2_0_ from vci_info vciinfo 这是一个用case when 实现统计表中不同状态数据数量的sql语句 这里要注意的是 判断字段是否为空用 case whe

mysql replace into用法详细说明

From: http://www.cnblogs.com/martin1009/archive/2012/10/08/2714858.html REPLACE的运行与INSERT很相似.只有一点例外,假如表中的一个旧记录与一个用于PRIMARY KEY或一个UNIQUE索引的新记录具有相同的值,则在新记录被插入之前,旧记录被删除. 注意,除非表有一个PRIMARY KEY或UNIQUE索引,否则,使用一个REPLACE语句没有意义.该 语句会与INSERT相同,因为没有索引被用于确定是否新行复制

mysql中对表操作----为所有列插入数据

     为所有列插入数据 通常情况下,向数据表中插入数据应包含表中所有字段,也就是为表中所有字段添加数据,为表中所有字段添加数据有以下两种方式. 1.INSERT语句中指定所有字段名 使用INSERT语句列出表的所有字段可以向表中插入数据,语法格式如下所示. INSERT INTO 表名(字段名1,字段名2,……) VALUES(值1,值2,……); 以上示例中,“字段名1,字段名2”是数据表中的字段名称,“值1,值2”是对应字段需要添加的数据,每个值的顺序.类型必须与字段名对应. 首先,创建

Mysql 中的CASE WHEN 用法

在SELECT语句查询中可以使用CASE WHEN对查询出来的结果,进行一个类似于if else的判断. 具体的用法 1. SELECT a.website_id, b.customer_name, a.website_enddate, c.member_name, d.websitetype_id,            CASE                 WHEN d.websitetype_id=1 THEN 400                WHEN d.websitetype

mysql group by 用法解析(详细)

在使用mysql时,有时需要查询出某个字段不重复的记录,虽然mysql提供 有distinct这个关键字来过滤掉多余的重复记录只保留一条,但往往只用它来返回不重复记录的条数,而不是用它来返回不重记录的所有值.其原因是 distinct只能返回它的目标字段,而无法返回其它字段,这个问题让我困扰了很久,用distinct不能解决的话,我只有用二重循环查询来解决,而 这样对于一个数据量非常大的站来说,无疑是会直接影响到效率的.所以我花了很多时间来研究这个问题,网上也查不到解决方案 下面先来看看例子:

MySQL 存储过程CASE语句用法

MySQL提供了一个替代的条件语句CASE. MySQL CASE语句使代码更加可读和高效. CASE语句有两种形式:简单的搜索CASE语句.下面讲讲MySQL 存储过程CASE语句用法. 1,CASE语法结构 CASE case_expression WHEN when_expression_1 THEN commands WHEN when_expression_2 THEN commands ... ELSE commands END CASE; 2,CASE应用实例 DELIMITER

[转]MySQL数据库引擎介绍、区别、创建和性能测试的深入分析

本篇文章是对MySQL数据库引擎介绍.区别.创建和性能测试进行了详细的分析介绍,需要的朋友参考下 数据库引擎介绍 MySQL数据库引擎取决于MySQL在安装的时候是如何被编译的.要添加一个新的引擎,就必须重新编译MYSQL.在缺省情况下,MYSQL支持三个引擎:ISAM.MYISAM和HEAP.另外两种类型INNODB和BERKLEY(BDB),也常常可以使用.如果技术高超,还可以使用MySQL+API自己做一个引擎.下面介绍几种数据库引擎:  ISAM:ISAM是一个定义明确且历经时间考验的数

mysql常用命令用法

1.创建数据库:create database database_name; 2.选择数据库:use database_name; 3.创建表:create table tablename(column1 data_type1, column2 data_type2,...,columnn datatypen); 4.设置表主键:alter table tablename add primary key(column_name); 5:修改表的字段名:alter table tablename