首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mysql中按日期统计案例

mysql中按日期统计案例
EN

Stack Overflow用户
提问于 2017-05-28 04:18:29
回答 1查看 42关注 0票数 0

我有一个与mysql相关的问题:

我有一个名为"datelist“的表,列出了从2011到2017年的所有日期。我得到了另一个表"sqltest“,它有两列"start_date”和"end_date",使用日期信息显示产品处于活动状态。这两列是datetime类型的变量,例如: 2016-02-17 21:52:26.594847。

我想统计一下从2011年到2017年的每一天有多少活跃使用的案例。

我是mysql的新手,有没有人可以指导我如何处理这样的问题?

感谢!

EN

回答 1

Stack Overflow用户

发布于 2017-05-28 12:46:23

如果没有您提供的数据,我们只能根据简短问题中提供的线索进行猜测。我们知道有两个表,并且提到了两个列名,但第二个表中的列名是未知的。这个问题暗示了时间精度的差异,但样本数据并没有验证这一点。

我想,提到时间精度的原因是为了在查询中进行一些补偿,以确保记录一天中任何活动的测试。例如,日期2016-02-17记录了从2016-02-17 21:52:26.594847开始的测试

示例数据:

代码语言:javascript
复制
CREATE TABLE sqltest
    (`start_date` datetime, `end_date` datetime)
;

INSERT INTO sqltest
    (`start_date`, `end_date`)
VALUES
    ('2016-02-17 21:52:26', '2016-02-27 21:52:26')
;


CREATE TABLE datelist
    (`a_date` datetime)
;

INSERT INTO datelist
    (`a_date`)
VALUES
    ('2016-02-01 00:00:00'),
    ('2016-02-02 00:00:00'),
    ('2016-02-03 00:00:00'),
    ('2016-02-04 00:00:00'),
    ('2016-02-05 00:00:00'),
    ('2016-02-06 00:00:00'),
    ('2016-02-07 00:00:00'),
    ('2016-02-08 00:00:00'),
    ('2016-02-09 00:00:00'),
    ('2016-02-10 00:00:00'),
    ('2016-02-11 00:00:00'),
    ('2016-02-12 00:00:00'),
    ('2016-02-13 00:00:00'),
    ('2016-02-14 00:00:00'),
    ('2016-02-15 00:00:00'),
    ('2016-02-16 00:00:00'),
    ('2016-02-17 00:00:00'),
    ('2016-02-18 00:00:00'),
    ('2016-02-19 00:00:00'),
    ('2016-02-20 00:00:00'),
    ('2016-02-21 00:00:00'),
    ('2016-02-22 00:00:00'),
    ('2016-02-23 00:00:00'),
    ('2016-02-24 00:00:00'),
    ('2016-02-25 00:00:00'),
    ('2016-02-26 00:00:00'),
    ('2016-02-27 00:00:00'),
    ('2016-02-28 00:00:00'),
    ('2016-02-29 00:00:00')
;

示例查询

代码语言:javascript
复制
select
      d.a_date
    , count(t.start_date)
from datelist d
left join sqltest t on d.a_date between DATE_SUB(t.start_date,INTERVAL 1 DAY)  and t.end_date
group by
      d.a_date
;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44221244

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档