创建mysql查询,以缓慢地在3天内获取数据


create mysql query for fetching data in 3 days slotwise

我想创建一个查询从数据库中获取所有数据。但条件是从当前月份之前得到的,数据将用计数转换为3天槽。就像如果我有12个月的数据,并在7月1日至3日的数据将插入到50行,从3至6日的数据将插入到5行。我是怎么拿这些东西的。这就是邮件的问题。我想知道,但没有发现与我的问题有关的东西。

我假设您有一个DATE或DATETIME列,用于标记插入的日期,例如列created_at。然后你可以得到想要的结果。

SELECT
    COUNT(*)
FROM
    your_table
WHERE
    created_at BETWEEN '2014-07-01' AND '2014-07-31 23:59:59'
GROUP BY
    (DAYOFMONTH(created_at) - 1) DIV 3

解释:

在DIV操作符的帮助下,您可以获得3天的插槽。

注意如果有一个槽没有行,它就不会出现在结果中。要获得这些,您可以使用最多11个槽的LEFT JOIN。

如果您将时间戳作为属性类型,那么这可能会对您有所帮助

SELECT count(*) as count
        FROM table
        AND
        TIMESTAMPDIFF(DAY,date,2014-08-01)<=3";

日期是列的属性,TIMESTAMPDIFF将发现给定日期之间的差异,如果它低于3天从2014-08-01记录将显示。这样,只需发送一个日期到这个位置,您就可以从表中找到3个日期槽。