将一个表与另一个表的SQL连接计数(*)作为别名

时间:2014-06-06 17:46:49

标签: mysql sql

我有两个表,用户和评论。

在users表中,有列id和用户名。 在评论表中,我有user_id和他的消息。

我想创建一个表格,在我搜索特定用户名时选择用户名及其评论计数。

我该怎么写?

我的测试尝试:

 SELECT COUNT(*) AS comment_count
 FROM song_comments
 RIGHT JOIN users
 WHERE user_id = 7 AND comments.user_id = users.id

2 个答案:

答案 0 :(得分:0)

这为您提供了用户和计数

select u.username, count(c.user_id) as comment_count
from users u
join comments c on u.id = c.user_id
group by u.username

您可以添加一个位置以获取一个用户的计数

select u.username, count(c.user_id) as comment_count
from users u
join comments c on u.id = c.user_id
where u.username = 'Hogan'
group by u.username

答案 1 :(得分:0)

试试这个:

 SELECT U.Username, COUNT(SC.message) AS comment_count
 FROM song_comments SC JOIN 
      users U ON U.id=SC.user_id
 WHERE U.user_id = 7
 GROUP BY U.Username