在SQL语句统计数据时sum和count函数中使用if判断条件的示例分析

38次阅读
没有评论

共计 1307 个字符,预计需要花费 4 分钟才能阅读完成。

行业资讯    
数据库    
MySQL 数据库    
在 SQL 语句统计数据时 sum 和 count 函数中使用 if 判断条件的示例分析

自动写代码机器人,免费开通

这篇文章主要介绍在 SQL 语句统计数据时 sum 和 count 函数中使用 if 判断条件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

示例:

order_type:订单类型
open_id:用户唯一标识
SELECT
 date(create_time) AS  当天日期 ,
 sum(real_price) AS  当天总收入 ,
sum 函数中使用 if 判断条件:{IF (order_type = 0, real_price, 0)
) AS  当天支付收入 ,
IF (order_type = 1, real_price, 0)
) AS  当天打赏收入 ,
 count(DISTINCT open_id) AS  付费总人数 ,
count 函数中使用 if 判断条件:{
count(
DISTINCT open_id,
IF (order_type = 0, TRUE, NULL)
) AS  支付人数 ,
count(
DISTINCT open_id,
IF (order_type = 1, TRUE, NULL)
) AS  打赏人数 ,
 count(id) AS  付费订单总数 ,
count 函数中使用 if 判断条件:{
count(
DISTINCT id,
IF (order_type = 0, TRUE, NULL)
) AS  支付订单数 ,
count(
DISTINCT id,
IF (order_type = 1, TRUE, NULL)
) AS  打赏订单数 
orders
WHERE
 real_price  != 1
AND  status  != 0
GROUP BY DATE(create_time)

查询结果:为了区分打赏订单和支付订单的数据统计,使数据更加清晰。

在 SQL 语句统计数据时 sum 和 count 函数中使用 if 判断条件的示例分析

小结:

sum 函数中使用 if 判断条件格式为:sum(if( 条件, 列值,0))

注解:sum 是求和函数,条件为真时,执行列值(字段名)求和也就是累加,条件为假时为 0 求和(当然还是 0)

1. 单条件判断格式,sum(if( 条件字段名 = 值, 需要计算 sum 的字段名,0))

2. 多条件判断格式,sum(if( 条件字段名 值 AND 条件字段名 值 AND 条件字段名 = 值,1,0))

注解:多条件判断格式整体含义为,计算满足条件的数据总数,如果满足条件,那么数据总数加 1,所以 1 的含义为累加 1

3. 常见 case when 格式,sum(case when 条件字段名 in ( 范围较小值, 范围较大值) then [需要计算 sum 的字段名] else 0 end)

count 函数中使用 if 判断条件格式为:

1. 统计总数,count(if( 条件字段名 = 值,true,null))

2. 统计总数去重复值,count(DISTINCT 需要计算 count 的字段名,if( 条件字段名 = 值,true,null))

以上是“在 SQL 语句统计数据时 sum 和 count 函数中使用 if 判断条件的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注丸趣 TV 行业资讯频道!

向 AI 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-04发表,共计1307字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)