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 when vciinfo.activatetime is null

判断值 case vciinfo.useable when -1

when 的位置不同

时间: 2024-11-08 21:35:08

Mysql CASE WHEN 用法的相关文章

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', '张三',

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 存储过程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常用命令用法

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

Oracle CASE WHEN 用法介绍

Oracle CASE WHEN 用法介绍 1. CASE WHEN 表达式有两种形式 --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END --Case搜索函数 CASEWHEN sex = '1' THEN '男' WHEN sex = '2' THEN '女' ELSE '其他' END 2. CASE WHEN 在语句中不同位置的用法 2.1 SELECT CASE WHEN 用法 SELECT gra

CASE函数用法:相当于switch..case:,能够实现等值判断,也可以做范围判断 相当于if...else

--CASE函数用法:--1.相当于switch..case:,能够实现等值判断--语法:--case 字段/表达式 --判断指定折字段或者表达式的值,它不能判断null值,因为null不是一个具体的值-- when 值 then '自定义值'-- when 值 then '自定义值'-- else '前面都不满足的情况'--end--特点:-- 1.会生成一个新列-- 2.then后面的值的类型需要一致select StudentNo,StudentName,case ClassId when

mysql not in用法

select * from zan where uid not in(select uid from zan where zhongjiang !=0) group by uid order by rand() limit 40 不过这个执行效率比较低,正在找更好用的方法 我觉得还是不如两条语句分开来写,先查出所有的uid,然后再用not in  这样查询速度快很多 $sql="select uid from zan where zhongjiang !='0'";$res=$dbs-

mysql 数据类型TIMESTAMP用法

在mysql数据库中,timestamp数据类型是一个比较特殊的数据类型,可以自动在不使用程序更新情况下只要更新了记录timestamp会自动更新时间. 通常表中会有一个Create date 创建日期的字段,其它数据库均有默认值的选项.MySQL也有默认值timestamp,但在MySQL中,不仅是插入就算是修改也会更新timestamp的值!这样一来,就不是创建日期了,当作更新日期来使用比较好!因此在MySQL中要记录创建日期还得使用datetime 然后使用NOW() 函数完成!1: 如果

MYSQL中LIMIT用法

MYSQL中LIMIT用法 SELECT * FROM tableName LIMIT [offset,] rows; 1.select * from table limit m,n(显示条数) 其中m是指记录开始的索引index(索引是从0开始的表示第一条记录 ) n是指从第m+1条开始,取n条. 结果是检索记录第m+1行至(m+n)行记录,共取出n条记录 ex: SELECT * FROM 表名 limit 6,5; 结果:检索记录第7行至11行记录,共取出5条记录. 2.n可以被设置为-1