gpt4 book ai didi

MySQL:选择日期范围之间的所有日期并获取匹配日期的表数据

转载 作者:行者123 更新时间:2023-11-29 01:52:16 26 4
gpt4 key购买 nike

有一个表有这样的数据:

-----------------------
| id | date |
-----------------------
| 1 | 2016-07-11 |
| 2 | 2016-07-11 |
| 3 | 2016-07-15 |
| 4 | 2016-07-15 |
| 5 | 2016-07-15 |
| 6 | 2016-07-16 |
| 7 | 2016-07-19 |
| 8 | 2016-07-20 |
-----------------------

我想获取一个日期范围(所有日期)和每个日期的 ID 计数,当不存在记录时返回 0。

如果在 2016-07-10 到 2016-07-20 之间的日期运行,结果应如下所示:

--------------------------
| date | count(id) |
--------------------------
| 2016-07-10 | 0 |
| 2016-07-11 | 2 |
| 2016-07-12 | 0 |
| 2016-07-13 | 0 |
| 2016-07-14 | 0 |
| 2016-07-15 | 3 |
| 2016-07-16 | 1 |
| 2016-07-17 | 0 |
| 2016-07-18 | 0 |
| 2016-07-19 | 1 |
| 2016-07-20 | 1 |
--------------------------

我找到了 getting a date range 的解决方案但无法弄清楚如何让它计算表中那些日期存在的 ID。

谢谢!

最佳答案

我通过修改解决方案中给出的用于获取所有日期的查询来解决这个问题。

以下查询返回所有日期和 ID 的计数(如果存在任何记录):

select d.date, count(v.id) from 
(select adddate('1970-01-01',t4.i*10000 + t3.i*1000 + t2.i*100 + t1.i*10 + t0.i) date from
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t0,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t1,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t2,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t3,
(select 0 i union select 1 union select 2 union select 3 union select 4 union select 5 union select 6 union select 7 union select 8 union select 9) t4) d
left join visitors v on d.date = v.date
where d.date between '2016-06-01' and '2016-06-30'
group by d.date
order by d.date

获取日期范围的礼貌转到 @mark-bannister和查询匹配的简单连接,然后排序得到解决方案。

关于MySQL:选择日期范围之间的所有日期并获取匹配日期的表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38472575/

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