1
SELECT `member_name.smf_members`, COUNT(`author.smf_links`) 
FROM smf_members, smf_links
JOIN smf_links ON id_member.smf_members = author.smf_links;
GROUP BY `author.smf_links`

它说 smf_links 不是唯一的表/别名。我要做的就是让它计算有多少行具有相同的作者,并显示成员姓名而不是作者(这是一个数字)和计数。

所以代替: 1 | 23

它会显示:兔子 | 23

我无法弄清楚这一点,我的大脑因谷歌搜索而麻木。有人可以帮我吗?:)

4

1 回答 1

4

你得到的错误是因为你加入同一个表smf_links,两次。如果那是您真正想要做的,您需要给它们起别名以便区分它们。但我怀疑你做错了。

此外,语法是tablename.column,不是column.table。而且您必须分别在每个部分周围放置反引号;如果在.反引号内,则将其视为文字字符,而不是分隔符。

SELECT `smf_members`.`member_name`, COUNT(*)
FROM smf_members
JOIN smf_links ON smf_members.id_member = smf_links.author
GROUP BY smf_links.author
于 2014-07-18T07:35:12.770 回答