繁体   English   中英

使用SQL子查询或JOIN子句进行选择

[英]Selecting using SQL Subqueries or the JOIN Clause

所以我有这些表。

该表存储点赞:

Table Name: Action

Id   Creator   Type   Target     <--- The `Target` here is the `Id` in Posts
1    1         like   1
2    2         like   1
3    3         like   1
4    1         like   2

该表存储帖子:

Id   Creator
1    1
2    2

任何表中的列名Creator都是指Account表中的Id列(此处未显示)。

我想选择一个帐户帖子获得的喜欢总数。 我已经尝试过下面的查询,但是它给出了语法错误。

SELECT count(`Id`) AS Check FROM `Action` WHERE `Type`='like' AND `Target`= (SELECT `Id` FROM `Posts` WHERE `Creator` = '1');

我不确定在这里JOIN子句是否更合适。

通过将表和GROUP BY结合在一起并计算适当的目标,您将获得总和。

SELECT
    p.creator,      
    COUNT(a.target) 
FROM
    posts p
INNER JOIN
    Action a
ON
    a.target = p.id
WHERE
    a.Type = 'like' AND p.creator = 1
GROUP BY
    p.creator;

这是SQL



    select a.ID,a.Creator,a.Type,a.Target, Count(p.*)Total
    from Action a 
    join posts p on a.Target=p.Creator
    where 
    a.Type='like'
    and a.Target=1;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM