请帮忙将以下 MySQL 查询语句转换为 SQLite 格式:
请帮我将此查询从 MySQL 转换为 SQLite 格式:
SELECT MAX(pubdate) as pubdate,
COUNT(DISTINCT post_id) AS count,
DATE_FORMAT(pubdate,"%b-%y") as month
FROM posts
WHERE pubdate >= DATE_SUB(CURDATE(), INTERVAL 5 MONTH)
GROUP BY month
ORDER BY pubdate ASC
基本上,我想获得最近5个月每月所有帖子的计数,但我在重写DATE_FORMAT(...)
和DATE_SUB(...)
函数时遇到了困难。
pubdate
具有标准的MySQL TIMESTAMP
格式(2011-06-21 20:05:01
)
WHERE
部分更改为WHERE pubdate >= datetime('now' , '-5 months')
可以正确返回最后5个月。但既然您提到了它,我在想,为什么datetime(pubdate,'-5 months')
没有效果呢? - TonyWHERE pubdate >= datetime('now', '-5 months')
是可行的,因为我的最后一篇文章是昨天发布的,但如果我的最后一篇文章是两个月前发布的,我该如何修改WHERE
部分以返回自最后一篇文章发布日期起过去五个月的所有月份? - TonyWHERE ( date(pubdate) > date('2010-01-01') AND date(pubdate) < date('2010-05-01') )
这样的语句可以工作。所以我猜我需要一些子查询之类的东西。无论如何,还是谢谢。 - Tony