我需要使用自动查询制作统计页面以进行结算。例如现在是7月,查询必须显示6月的记录计数和当天(仅7月)的记录的当前计数。排序:
“上个月的记录 - 85,当天 - 32”
我有表customer
和行create_time
,但它在unix时间戳中。试图
SELECT COUNT(*)FROM
customer
WHEREcreate_time
> = UNIX_TIMESTAMP(DATE_SUB(now(),INTERVAL 1 MONTH))
但它绝对不是我想要的。
我很感激你的帮助。
答案 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');
并在查询中使用此