我有LEFT JOIN查询
SELECT
a.id_user,b.id_post, COUNT(a.*) as total_users
FROM
posts as b
LEFT JOIN .....
LEFT JOIN .....
WHERE ....
ORDER BY .....
GROUP BY
a._id_user
LIMIT 3,10
如果我使用COUNT(a.*) AS total_users
来检索用户数,但我收到错误;什么是正确的语法?
答案 0 :(得分:0)
语法看起来应该更像:
SELECT a.?, COUNT(b.?) as total_users
FROM a LEFT JOIN
b
ON . . .
GROUP BY a.?
答案 1 :(得分:0)
你需要一个小组
选择a.id_user,b.id_post,count(1) 从..... 由a.id_user分组,b.id_post
答案 2 :(得分:0)
您可以Count([some specific field])
或Count(*)
,但正如Gordon Linoff所说,您通常不能使用Count(alias.*)
Count()
函数需要一个表达式(单个值)。对于表达式不为NULL的每一行,将计算该行。 Count(*)
是返回结果集中行数的特殊情况。
答案 3 :(得分:0)
关注返回所有帖子并计算以某种方式加入这些帖子的用户数量(在您的问题中没有相关信息)
SELECT
a.id_user,
b.id_post,
COUNT(DISTINCT a.id_user) as total_users