请帮我改写从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
Run Code Online (Sandbox Code Playgroud)
基本上,我想得到按月分组的过去5个月的所有帖子的数量,但我有重写DATE_FORMAT(...)和DATE_SUB(...)功能的困难.
pubdate有标准的MySQL TIMESTAMP格式(2011-06-21 20:05:01)
SELECT MAX(pubdate) as pubdate,
COUNT(DISTINCT post_id) AS count,
strftime('%m-%Y',pubdate) as month
FROM posts
WHERE pubdate >= datetime('now','-5 month')
GROUP BY month
ORDER BY pubdate ASC
Run Code Online (Sandbox Code Playgroud)
是最接近我可以使它看起来整洁.但是,这将返回'01 -1999'格式month.如果你想要它是'Jan 99',你将不得不有某种形式的凌乱的案例陈述.
我目前无权访问sqlite,因此此代码尚未经过测试.