2015-02-10 35 views
0

在我的客戶關係管理系統中,我有帶導聯的表格。我想製作一張圖表,查看過去7天內添加了多少線索。爲了這個目的,我需要從上週的每一天分開總計。如何檢索最後7天的數據總和作爲單獨的總和

如何在MySQL中做到這一點?

我的表稱爲tab_leads它有lead_id(整數)和lead_create_date(時間戳,格式:0000-00-00 00:00:00)

所以,我需要這樣的東西:

  • 日1 - 10
  • 第2天 - 0
  • 第3天 - 第5
  • 第4天 - 1
  • 天5 - 9
  • 第6天 - 15
  • 第7天(今天) - 2
+0

什麼是重要的,我需要有一個七款項。 即使從特定的日子沒有線索,我也需要一個0。 – Tikky 2015-02-10 10:23:48

回答

2

只需使用一個GROUP BY查詢:

SELECT 
    DATE(lead_create_date) AS `Date`, 
    COUNT(*) AS `Leads` 
FROM 
    tab_leads 
WHERE 
    lead_create_date >= CURRENT_DATE - INTERVAL 6 DAY 
GROUP BY 
    DATE(lead_create_date) 

上述查詢假設沒有未來記錄和當天計爲第7天。

+0

你好,謝謝你的信息。 這有效,但是當那些日子裏沒有數據時(沒有新的線索),我沒有獲取數據。 我的意思是我總是需要7筆錢,即使sum = 0。 有沒有機會獲得這種類型的結果? – Tikky 2015-02-10 10:22:24

+1

哦。我會使用一個日期表(或類似http://stackoverflow.com/q/510012/87015),並將它與引線表結合起來。 – 2015-02-10 10:27:09

+0

好的,謝謝你分享你的知識:) – Tikky 2015-02-10 10:59:14

1

試試這個MySQL查詢

SELECT * FROM tab_leads WHERE DATE(lead_create_date) = DATE_SUB(DATE(NOW()), INTERVAL 7 DAY) GROUP BY DATE(lead_create_date); 
+0

這個工作,但它也沒有顯示空白數據的日子。 即使sum = 0,我總是需要七筆金額。 – Tikky 2015-02-10 14:11:33

1

試試這個

SELECT COUNT(ead_id) from tab_leads GROUP BY DAY(lead_create_date) 

(或按您的要求)

SELECT SUM(ead_id) from tab_leads GROUP BY DAY(lead_create_date) 
+0

按天分組會產生不正確的結果。例如,1月1日,2月1日,3月1日等所有線索將合併爲一行。 – 2015-02-10 10:25:17