簡體   English   中英

PHP計算每天節省的文檔總數

[英]PHP Calculate total document saves per day

我正在嘗試每天節省的文件總數。 但是我不知道如何。 這是我的數據庫中的列及其數據。

report_id    doc_date   total_doc 
- 1          2017-06-06  1  
- 2          2017-06-23  1  
- 3          2017-06-14  1  
- 4          2017-06-12  1  
- 5          2017-06-16  1
- 6          2017-06-21  1
- 7          2017-06-14  1
- 9          2017-06-13  1
- 10         2017-06-21  1
- 11         2017-06-12  1
- 12         2017-06-18  1
- 13         2017-06-12  1
.....

上面有類似的日期,例如,

- 3          2017-06-14  1
- 7          2017-06-14  1 

我需要一個SQL查詢,該查詢將計算並顯示每天節省的總文檔數。 因此,對於2017年6月14日,總數為2。 僅供參考,total_doc自動等於1。 更新:並顯示當天保存的文檔總數。

嘗試以下操作(將table_name設置為表的名稱):

SET @row_count = 0;
SELECT (@row_count:=@row_count+1) AS totalSaves FROM table_name WHERE doc_date='2017-06-14'

第一行定義變量row_count ,並將其設置為0

第二行遍歷數據庫,查找日期為2017-06-14所有行,每增加一行row_count

然后,我們在標記為totalSaves的列中SELECT存儲在row_count作為單行的最終數字。

table_name設置為表的名稱

SELECT doc_date, sum(total_doc) AS total 
FROM table_name
GROUP BY doc_date

用表名更改table_name。

如果您只想顯示1個日期:

SELECT doc_date, sum(total_doc) AS total 
FROM table_name
WHERE doc_date = '2017-06-14'
GROUP BY doc_date
SELECT 
    doc_date,
    count(doc_date) AS saves
FROM documents
GROUP BY doc_date
ORDER BY doc_date ASC;

要么

SELECT
    doc_date,
    sum(total_doc) AS saves
FROM documents
GROUP BY doc_date
ORDER BY doc_date ASC;

注意事項:

1)如果使用第一個選項,則可以刪除列total_doc 這也是我的建議。 doc_date列中的日期值具有良好的mysql格式,因此您可以對其進行可靠的操作。

2)如果需要,可以按doc_date降序對記錄進行排序。

3)當使用諸如countsum類的函數時,不要忘記對列進行別名(就像我對AS saves所做的那樣)。 因為這樣您也可以使用HAVING過濾器。 像這樣-每天保存一次以上的所有文檔:

SELECT 
    doc_date,
    count(doc_date) AS saves
FROM documents
GROUP BY doc_date
HAVING saves > 1
ORDER BY doc_date ASC;

然后,您還可以在指定的日期僅按一個保存的文檔進行過濾:

SELECT 
    doc_date,
    count(doc_date) AS saves
FROM documents
WHERE doc_date = "2017-06-12"
GROUP BY doc_date
HAVING saves > 1
ORDER BY doc_date ASC;

4)或者,您也可以根據需要忽略HAVINGdoc_date 這將為您提供在指定日期保存的文檔。

SELECT count(doc_date) AS saves
FROM documents
WHERE doc_date = "2017-06-12"
GROUP BY doc_date
ORDER BY doc_date ASC;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM