我正在创建一个数据库,并且需要一个查询来计算编辑在博客上发布的帖子数量,包括博客标题和编辑者用户名。我正在使用这个声明:
SELECT Post.post_Title,
Post.post_Author,
Editor.ed_UsrName,
SUM(CASE WHEN Post.post_Author = Editor.ed_UsrName THEN 1 ELSE NULL END)
AS numrev
FROM Post
INNER JOIN Editor
ON Post.post_Author=Editor.ed_UsrName;
但是返回此输出:
+------------+-------------+------------+--------+
| post_Title | post_Author | ed_UsrName | numrev |
+------------+-------------+------------+--------+
|-- Post1 -- | --- user1 ---- | -----user1---- | --- 3 ----|
+------------+-------------+------------+--------+
我不确定香港专业教育学院是否接近完全错误,或者它只是一个小事情。
非常感谢任何帮助。
答案 0 :(得分:0)
尝试使用GROUP BY
SELECT Post.post_Title, Post.post_Author, Editor.ed_UsrName, count(1) AS numrev
FROM Post
INNER JOIN Editor ON Post.post_Author=Editor.ed_UsrName
group by Editor.ed_UsrName;