最后一个月和当前月的unix时间戳的记录数

时间:2015-07-22 06:35:21

标签: mysql select count unix-timestamp

我需要使用自动查询制作统计页面以进行结算。例如现在是7月,查询必须显示6月的记录计数和当天(仅7月)的记录的当前计数。排序:

“上个月的记录 - 85,当天 - 32”

我有表customer和行create_time,但它在unix时间戳中。试图

  

SELECT COUNT(*)FROM customer WHERE create_time> =   UNIX_TIMESTAMP(DATE_SUB(now(),INTERVAL 1 MONTH))

但它绝对不是我想要的。

我很感激你的帮助。

2 个答案:

答案 0 :(得分:1)

试试这个:

SELECT *
  FROM ( SELECT COUNT(*) AS total_previous_month
           FROM customer
          WHERE create_time >= concat(date_format(LAST_DAY(now() - interval 1 month),'%Y-%m-'),'01')
            AND create_time < LAST_DAY(now() - interval 1 month )
       ) AS s1,
       ( SELECT COUNT(*) AS total_previous_month
           FROM customer
          WHERE create_time >= concat(extract(year from now()),'-',extract(month from now()),'-01')
            AND create_time <= now()
       ) AS s2

答案 1 :(得分:0)

您可以通过向WHERE添加条件来执行此操作:

create_time >= UNIX_TIMESTAMP(DATE_SUB(CURDATE(), INTERVAL 1 month))

在PHP中,您可以计算一个月的回溯日期

$newDate = strtotime('-1 month');

并在查询中使用此