簡體   English   中英

MySQL 5.5 - 每天計算未清項目

[英]MySQL 5.5 - count open items per day

我有下面的表只是一個快照,我想要做的就是計算每個日期的未清項目數。

我曾經在excel中使用簡單的公式=COUNTIFS($A$2:$A$30000,"<="&E2,$B$2:$B$30000,">="&E2) ,其中A列是Open_Date日期和列B Close_Date日期。 我想使用SQL來獲得相同的結果。

這是我的excel快照。 上面的公式。

在此輸入圖像描述

在mysql中我用T1表復制了它:

CREATE TABLE T1
(

ID int (10),
Open_Date date,
Close_Date date);


insert into T1 values (1, '2018-12-17', '2018-12-18');
insert into T1 values (2, '2018-12-18', '2018-12-18');
insert into T1 values (3, '2018-12-18', '2018-12-18');
insert into T1 values (4, '2018-12-19', '2018-12-20');
insert into T1 values (5, '2018-12-19', '2018-12-21');
insert into T1 values (6, '2018-12-20', '2018-12-22');
insert into T1 values (7, '2018-12-20', '2018-12-22');
insert into T1 values (8, '2018-12-21', '2018-12-25');
insert into T1 values (9, '2018-12-22', '2018-12-26');
insert into T1 values (10, '2018-12-23', '2018-12-27');

第一步是創建帶有日期的表,以防Date_open中出現任何間隙。 所以我的代碼目前是

SELECT
    d.dt, Temp_T1.*
FROM
(
    SELECT '2018-12-17' AS dt UNION ALL
    SELECT '2018-12-18' UNION ALL
    SELECT '2018-12-19' UNION ALL
    SELECT '2018-12-20' UNION ALL
    SELECT '2018-12-21' UNION ALL
    SELECT '2018-12-22' UNION ALL
    SELECT '2018-12-23' UNION ALL
    SELECT '2018-12-24'
) d

LEFT JOIN 
(SELECT * FROM T1) AS Temp_T1
ON Temp_T1.Open_Date = d.dt

我迷失了如何計算與excel中相同的值?

您希望使用GROUP BY為d派生表中的每個日期創建一行。

然后將d連接到t1表,其中d.dt 位於打開和關閉日期之間。

SELECT
    d.dt, COUNT(*) AS open_items
FROM
(
    SELECT '2018-12-17' AS dt UNION ALL
    SELECT '2018-12-18' UNION ALL
    SELECT '2018-12-19' UNION ALL
    SELECT '2018-12-20' UNION ALL
    SELECT '2018-12-21' UNION ALL
    SELECT '2018-12-22' UNION ALL
    SELECT '2018-12-23' UNION ALL
    SELECT '2018-12-24'
) d
LEFT JOIN T1 ON d.dt BETWEEN t1.Open_Date and t1.Close_Date
GROUP BY d.dt;

輸出:

+------------+------------+
| dt         | open_items |
+------------+------------+
| 2018-12-17 |          1 |
| 2018-12-18 |          3 |
| 2018-12-19 |          2 |
| 2018-12-20 |          4 |
| 2018-12-21 |          4 |
| 2018-12-22 |          4 |
| 2018-12-23 |          3 |
| 2018-12-24 |          3 |
+------------+------------+

暫無
暫無

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

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