【发布时间】:2019-06-01 04:17:21
【问题描述】:
这适用于现有网站,尝试转换为 Laravel 5.8 代码:
SELECT
DATE_FORMAT(created_at, '%M %Y') AS 'article',
DATE_FORMAT(created_at, '%m')AS 'm',
DATE_FORMAT(created_at,'%Y') AS 'y',
COUNT(id) AS 'total'
FROM posts
GROUP BY DATE_FORMAT(created_at, '%Y%M')
ORDER BY m DESC
我试过了:
$archives = DB::select("SELECT DATE_FORMAT(created_at, '%M %Y') AS 'article',DATE_FORMAT(created_at, '%m')AS 'm', DATE_FORMAT(created_at,'%Y') AS 'y', COUNT(id) AS 'total' FROM posts GROUP BY DATE_FORMAT(created_at, '%Y%M') ORDER BY m DESC");`
我明白了:
错误:SQLSTATE[42000]:语法错误或访问冲突:1055 'amohdb.posts.created_at' 不在 GROUP BY 中(SQL:SELECT DATE_FORMAT(created_at, '%M %Y') AS '文章',DATE_FORMAT(created_at, '%m')AS 'm', DATE_FORMAT(created_at,'%Y') AS 'y', COUNT(id) AS 'total' FROM posts GROUP BY DATE_FORMAT(created_at, '%Y%M') ORDER BY m DESC)
【问题讨论】: