gpt4 book ai didi

mysql - 获取日期范围内每个缺失的日期

转载 作者:行者123 更新时间:2023-11-29 17:57:52 25 4
gpt4 key购买 nike

我有一个表,其中的日期字段随月变化,例如:

id    import_date   name ...
1 2017-02-01 Leonardo
7 2017-03-01 Alison
8 2017-06-01 Juliet
11 2017-09-01 Laura

每月的每个第一天,我们都会将一些数据导入到此表中。正如您所看到的,在本例中,一月、四月、五月、七月和八月的一些记录丢失了。

如何仅获取开始日期和结束日期范围之间缺少的日期?

最佳答案

这就是我所做的:

SELECT data_series.import_date FROM 
(
SELECT DATE_ADD(:startDate, INTERVAL @i :=@i + 1 MONTH) AS import_date
FROM imports, (SELECT @i := -1) i,
(SELECT MIN(import_date) as minVal, MAX(import_date) as maxVal
FROM imports WHERE import_date BETWEEN :startDate AND :endDate) AS smallerSet
WHERE @i < DATEDIFF(smallerSet.maxVal, smallerSet.minVal)
) AS data_series
LEFT JOIN
(
SELECT DISTINCT import_date FROM imports
WHERE reference_date BETWEEN :startDate AND :endDate
) AS import_period
ON data_series.import_date = import_period.import_date
WHERE import_period.import_date IS NULL

其中 :startDate:endDate 是我在 Spring Boot 中使用的变量。

关于mysql - 获取日期范围内每个缺失的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48651618/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com