我知道这是基本知识,但我发现这很棘手,无法正确表达问题以找到答案。

我想做的就是拿这些桌子-

Table names
name   | nameID |
-----------------
Jhon   | 1
Bob    | 2
George | 3
Kim    | 4

Table mark
nameID | child
--------------
1      | 0
1      | 0
1      | 1
2      | 1
2      | 0
2      | 1
3      | 0
3      | 0
4      | 1
4      | 1
4      | 1
4      | 0


然后计算表名称中每个名称出现在带有child = 1的表标记中的次数,因此您将获得:

name   | count
--------------
Jhon   | 1
Bob    | 2
Kim    | 3

最佳答案

尝试这个。

select n.name, count(*)
from names n, mark m
where n.nameID = m.nameID and m.child = '1'
group by n.name

07-26 05:54