最近遇到一個(gè)問(wèn)題,需要統(tǒng)計(jì)數(shù)據(jù)庫(kù)中每一天的數(shù)據(jù)新增量,大家都知道可以使用 GROUP BY 對(duì)時(shí)間字段分組來(lái)實(shí)現(xiàn)統(tǒng)計(jì)每天的新增量的。關(guān)鍵是我我的數(shù)據(jù)庫(kù)中時(shí)間字段存儲(chǔ)的是 2016-12-16 14:21:33 這樣的數(shù)據(jù),如果直接使用這個(gè)時(shí)間字段來(lái)統(tǒng)計(jì)出來(lái)的是不準(zhǔn)確的。以下原始sql語(yǔ)句:
SELECT pubtime, COUNT(pubtime) AS num
FROM qt_document
WHERE tid = 292
GROUP BY pubtime
ORDER BY pubtime DESC
LIMIT 10

原始sql語(yǔ)句結(jié)果圖
那怎么才能通過(guò)時(shí)間字段就行按天分組呢?找了找sql的函數(shù),發(fā)現(xiàn)有一個(gè) to_char() 函數(shù),可以實(shí)現(xiàn)這個(gè)功能。
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

使用to_char()函數(shù)的結(jié)果
- 如果條件查詢 可以使用下圖方法

image.png
數(shù)據(jù)庫(kù):查詢構(gòu)造器
張煊博客