我有以下表格:
我希望按月计算特定用户和群组的博客总数。这个工作查询工作正常:
SELECT COUNT(*)
FROM blogs b
INNER JOIN blog_user bu ON bu.`blog_id` = b.id
WHERE bu.`user_id` = 1
GROUP BY
MONTH(b.`created_at`)
但是我想要返回1月份的月份等...旁边的总数。我尝试过以下方法:
SELECT COUNT(*), MONTH(blogs.created_at)
FROM blogs b
INNER JOIN blog_user bu ON bu.`blog_id` = b.id
WHERE bu.`user_id` = 1
GROUP BY
MONTH(b.`created_at`)
但是我得到了:
未知列blogs.created_at
关于我如何做到这一点的任何想法?
答案 0 :(得分:2)
您将blogs
表别名为b
,因此您需要使用b
前缀来引用其列:MONTH(b.created_at)
除了此实例之外,您在整个sql语句中使用了正确的别名。