mysql之为 SQLite 重写 MySQL 日期函数
dudu
阅读:1147
2023-08-24 23:31:47
评论:0
请帮助我将此查询从 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
)
请您参考如下方法:
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
是我能让它看起来最干净的最接近的。但是,这将返回 month
的“01-1999”格式。如果您希望它是“99 年 1 月”,则必须使用某种形式的困惑案例陈述。
我目前无法访问 sqlite,因此此代码尚未经过测试。
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。