原文: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