0

我正在尝试基于两个 MySQL 表运行一个相当简单的计数,但我无法获得正确的语法。

         Table_1                                Table_2
Actor | Behavior | Receiver |       | Behavior | Type_of_behavior |
 Eric        a        ann                a            Good
 Eric        b        ann                b            Bad 
 Bob         a        Susan              a            Good
 Bob         c        Bob                c            shy

我想COUNT Table 1.Behavior通过table_2.Type_of_behavior WHERE Table_1.Behavior = Table_2 Behaviorand group by Table_1.Actor。我尝试过的语法如下。
我意识到我可以加入表格,但出于其他原因,我需要将它们分开。

SELECT actor, JOIN Table_1, Table_2
COUNT(IF(Table_2.Type_of_behavior = "good", 1,0))
 AS 'good' FROM Table_1.Behavior GROUP BY actor;
4

2 回答 2

0

我不完全确定这是否是您想要的,但是您至少应该可以修改以下内容。

SELECT actor, COUNT(Type_of_behavior)
FROM table_1 JOIN table_2
ON table_1.behavior=table_2.behavior
WHERE Type_of_behavior = 'good'
GROUP BY actor
于 2012-10-05T18:28:25.753 回答
0
SELECT actor, 
       sum(t2.Type_of_behavior = 'good') AS good
from Table_1 t1
join Table_2 t2 on t1.behaviour = t2.behaviour
GROUP BY actor;
于 2012-10-05T18:28:38.763 回答