原文:MySQL巧用sum,case...when...优化统计查询

最近在公司做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。这里为了简洁明了的阐述问题和解决的方法,我简化一下需求模型。 现在数据库有一张订单表 经过简化的中间表 ,表结构如下: CREATE TABLE statistic order ...

2017-12-11 22:05 0 1118 推荐指数:

查看详情

MySQL巧用sum,case...when...优化统计查询

最近在做项目,涉及到开发统计报表相关的任务,由于数据量相对较多,之前写的查询语句查询五十万条数据大概需要十秒左右的样子,后来经过老大的指点利用sum,case...when...重写SQL性能一下子提高到一秒钟就解决了。这里为了简洁明了的阐述问题和解决的方法,我简化一下需求模型。 现在 ...

Tue Apr 18 04:39:00 CST 2017 0 18570
mysqlsum与if,case when 结合使用

1.sum与if结合使用 如图:数据表中,count_money 字段可为正,可为负。为正表示收入,负表示支出。 统计总收入,总支出。 select sum(if(count_money > 0, count_money, 0)) as sum_receipt, sum ...

Fri Nov 29 03:15:00 CST 2019 0 957
MySQL中group by , sum , case when then 的使用

在我们使用数据库的时候,可能会遇到需要进行统计的情况。 比如需要统计一下,下表中各个年份的胜负场数。 遇到这样的情况,我们应该怎么办呢? 在mysql中我们可以使用group by sum case when 来解决这个问题,sql语句如下: select date_year ...

Wed Apr 10 19:23:00 CST 2019 0 904
Mysql查询--case when then end 与 if

1 IF(expr1,expr2,expr3) 如 mysql> SELECT IF(1>2,2,3); -> 3 mysql> SELECT IF(1<2,'yes','no'); -> 'yes' mysql> SELECT IF(STRCMP ...

Thu Nov 14 00:42:00 CST 2019 0 1031
ORACLE多条件的统计查询case when

前几天要做一个统计查询的功能,因为涉及多张表,多种条件的统计分析。一开始便想到了UNION和IF语句,然后写了1000多行代码,就为了查30条数据觉得不应该。 然后就开始百度,多种条件下的统计。然后有一种语法让我眼前一亮,case when then else end 当满足CASE设定的条件 ...

Thu Aug 25 05:16:00 CST 2016 1 26359
MYSQL 巧用count,sum进行统计数据

SELECT a.user,count(b.order_id) as subcount,sum(if(b.verifysta='Y',1,0)) as passcount FROM vicidial_users a LEFT JOIN vicidial_order b on a.user ...

Tue Nov 10 16:59:00 CST 2015 0 6791
case when结合 SUM用法

select --统计 男生 的人数 SUM(case when ssex='男' then 1 else 0 end ) as '男',--统计 女生 的人数 SUM(case when ssex='女' then 1 else 0 end ) as '女'from Student ...

Mon Jun 10 22:58:00 CST 2019 0 2765
mysql-函数CASE WHEN 统计多个字段

case when语句,用于计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式: 1、简单 case 函数: 2、case 搜索函数: 参数: input_expression     是使用简单 CASE 格式时所计算的表达式 ...

Fri Sep 22 16:35:00 CST 2017 0 5252
 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM