1
我试图检索数据进行统计,即时通讯使用MySQL和我不能得到以下功能工作 - PostgreSQL工作。date_trunc PostgreSQL函数相当于mySQL
我想检索上个月的请求并计算每天新请求的数量。
PostgreSQL的
SELECT count(*), date_trunc('day', created_at) as date FROM requests
WHERE(created_at > '2014-08-13 00:00:00') GROUP BY 2 ORDER BY 2 ASC;
的MySQL - 我的代码*
SELECT count(EXTRACT(DAY FROM created_at)), EXTRACT(DAY FROM created_at) as date
FROM `requests`
WHERE EXTRACT(DAY FROM NOW() - INTERVAL 1 MONTH)
GROUP BY date
最终代码
SELECT count(*) , date(created_at) AS date
FROM `requests`
WHERE DATE(created_at) > DATE(DATE_SUB(NOW() , INTERVAL 1 MONTH))
GROUP BY date
这也适用于Postgres – 2015-02-06 12:53:06
'cast()'会使它甚至与ansi兼容。 – pozs 2015-02-06 12:58:14
@pozs。 。 。 'cast()'在MySQL中工作,但它不适用于所有数据库。值得注意的是,Oracle'date'类型包含一个时间组件。 – 2015-02-06 13:01:16