带计数的SQL语句

芬戈里克

我正在做作业,但其中一种视图的SQL语句有问题。基本上,我拥有可以发布帖子的餐厅和可以喜欢该帖子的用户(非常类似于Facebook喜欢的过程)。

这个想法是要进行一个SQL查询,以向我显示餐馆以RIF ='1123J'发表的所有帖子,以及每个帖子的赞次数。

这些是表结构:

CREATE TABLE 'posts'(
    'ID' int(11) NOT NULL AUTO_INCREMENT, 
    'restaurant_rif' varchar(255) NOT NULL, 
    'content' text NOT NULL,
    'creation_date' datetime NOT NULL,
    PRIMARY KEY ('ID'),
    UNIQUE KEY 'ID' ('ID')
) ENGINE=InnoDB  DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;

CREATE TABLE 'likes' (
  'post_id' int(11) NOT NULL,
  'restaurant_rif' varchar(255) NOT NULL,
  'user_mail' varchar(255) NOT NULL,
  'liked_date' datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;

我或多或少会得到这样的答案:

+----------+------------+------------------+
| Post ID  | Contenido  |  Amount of Likes |
+----------+------------+------------------+
|     1    | Test 1     |       12         |
+----------+------------+------------------+
|     2    | Test 2     |       50         |
+----------+------------+------------------+
|     1    | Test 3     |       120        |
+----------+------------+------------------+
shawnt00
select *, (select count(*) from likes l where l.post_id = p.id) as num_likes
from posts p
where restaurant_rif = '<rif>' 

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章