最近遇到一个问题,需要统计数据库中每一天的数据新增量,大家都知道可以使用 GROUP BY 对时间字段分组来实现统计每天的新增量的。关键是我我的数据库中时间字段存储的是 2016-12-16 14:21:33 这样的数据,如果直接使用这个时间字段来统计出来的是不准确的。以下原始sql语句:
SELECT pubtime, COUNT(pubtime) AS num
FROM qt_document
WHERE tid = 292
GROUP BY pubtime
ORDER BY pubtime DESC
LIMIT 10
那怎么才能通过时间字段就行按天分组呢?找了找sql的函数,发现有一个 to_char() 函数,可以实现这个功能。
SQL代码如下:
SELECT to_char(pubtime, 'yyyy-mm-dd') AS time, COUNT(pubtime) AS num
FROM qt_document
WHERE tid = 292
GROUP BY time
ORDER BY time DESC
LIMIT 10
- 如果条件查询 可以使用下图方法
数据库:查询构造器
张煊博客