北京企业网站开发多少钱,wordpress改地址后打不开,wordpress首部如何添加自定义代码,如何做网站流量报告目录
CASE 的两种格式#xff1a; 简单CASE函数 和 CASE搜索函数
同时配合 SUM 以及 COUNT 方法的使用
① SUM函数
② COUNT函数 CASE WHEN函数语句#xff0c;实现简单CASE函数和CASE搜索函数两种格式。同时配合 SUM以及COUNT方法的使用
CASE 的两种格式#xff1a; 简…目录
CASE 的两种格式 简单CASE函数 和 CASE搜索函数
同时配合 SUM 以及 COUNT 方法的使用
① SUM函数
② COUNT函数 CASE WHEN函数语句实现简单CASE函数和CASE搜索函数两种格式。同时配合 SUM以及COUNT方法的使用
CASE 的两种格式 简单CASE函数 和 CASE搜索函数
**简单CASE函数**
CASE 条件参数名称WHEN 参数值1 THEN 显示值1WHEN 参数值2 THEN 显示值2...
ELSE 显示其他值 END
**CASE搜索函数**
CASE WHEN 条件参数名称 参数值1 THEN 显示值1WHEN 条件参数名称 参数值2 THEN 显示值2...
ELSE 显示其他值 END
两种格式示例 状态state 订单号orderId
**简单CASE函数**
SELECTorderId,CASE stateWHEN 1 THEN 启动WHEN 2 THEN 关闭ELSE 未知状态 END AS statusName
FROM t_table
**CASE搜索函数**
SELECTorderId,CASE WHEN state 1 THEN 启动WHEN state 2 THEN 关闭ELSE 未知状态 END AS stateName
FROM t_table这两种格式可以实现相同的功能。但是简单CASE函数和CASE搜索函数相比功能方面会有些限制
比如写判断式
SELECTorderId,CASE WHEN state 1 THEN 启动WHEN state 2 THEN 关闭WHEN state IN (3, 4) THEN 待解锁ELSE 未知状态 END AS stateName
FROM t_table若是多重时WHEN 的 IN 条件中的值和下一个 WHEN 的条件重合会被忽略如下面的 “关闭” 状态会被忽略永远无法得到 “关闭”
SELECTorderId,CASE WHEN state 1 THEN 启动WHEN state IN (2, 3, 4) THEN 待解锁WHEN state 2 THEN 关闭ELSE 未知状态 END AS stateName
FROM t_table同时配合 SUM 以及 COUNT 方法的使用
① SUM函数
**简单CASE函数**
SUM(CASE 条件参数名称WHEN 参数值 THEN 显示被求和值ELSE 0 END) AS SUMAMT**CASE搜索函数**
SUM(CASE WHEN 条件参数名称 参数值 THEN 显示被求和值ELSE 0 END) AS SUMAMT**或者**
SUM(CASE WHEN 条件参数名称1 参数值1 AND 条件参数名称2 参数值2 ...THEN 显示被求和值ELSE 0 END) AS SUMAMT**或者**
SUM(CASE WHEN 条件参数名称1 IN (参数值n) AND 条件参数名称2 参数值2 ...THEN 显示被求和值ELSE 0 END) AS SUMAMT示例 根据时间条件查询值有值时显示 “被求和值” 没有值时显示 “null” 状态state 类型t_type 金额amt
**简单CASE函数**
SELECTSUM(CASE stateWHEN 1 THEN amtELSE 0 END ) AS sumAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**CASE搜索函数**
SELECTSUM(CASE WHEN state 1 THEN amtELSE 0 END ) AS sumAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**或者**
SELECTSUM(CASE WHEN state 1 AND t_type 2 THEN amtELSE 0 END ) AS sumAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**或者**
SELECTSUM(CASE WHEN state IN (2, 3, 4) AND t_type 2 THEN amtELSE 0 END ) AS sumAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time② COUNT函数
**简单CASE函数**
COUNT(CASE 条件参数名称WHEN 参数值 THEN 1ELSE 0 END) AS COUNTAMT**CASE搜索函数**
COUNT(CASE WHEN 条件参数名称 参数值 THEN 1ELSE 0 END) AS COUNTAMT**或者**
COUNT(CASE WHEN 条件参数名称1 参数值1 AND 条件参数名称2 参数值2 ...THEN 1ELSE 0 END) AS COUNTAMT**或者**
COUNT(CASE WHEN 条件参数名称1 IN (参数值n) AND 条件参数名称2 参数值2 ...THEN 1ELSE 0 END) AS COUNTAMT示例 根据时间条件查询值有值时显示 “总条数值” 没有值时显示 “0” 状态state 类型t_type 金额amt
**简单CASE函数**
SELECTCOUNT(CASE stateWHEN 1 THEN 1ELSE 0 END ) AS countAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**CASE搜索函数**
SELECTCOUNT(CASE WHEN state 1 THEN 1ELSE 0 END ) AS countAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**或者**
SELECTCOUNT(CASE WHEN state 1 AND t_type 2 THEN 1ELSE 0 END ) AS countAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time**或者**
SELECTCOUNT(CASE WHEN state IN (2, 3, 4) AND t_type 2 THEN 1ELSE 0 END ) AS countAmt
FROM t_table
WHEREcore_time 2020-07-01 00:00:00
AND core_time 2020-07-20 23:59:59
GROUP BY core_time嘟嘟噜~
原文作者Explorer_S