【发布时间】:2015-03-16 05:00:08
【问题描述】:
有一些表,并且正在尝试将记录数加起来,但来自特定办公室。
SQL:
SELECT COUNT(*) AS "Number of employees" FROM staff, office
WHERE office.office_id =10;
因此希望办公室的员工 = 10。因此该字段应显示为“员工人数”为 3。
相反,它将所有记录相加并显示“9”。
办公室 1 的 ID 为 10 office 2 的 ID 为 20
【问题讨论】:
-
SELECT COUNT(*) AS "Number of employees" FROM staff, office 这种语法还能用吗......? 2 表在同一个?
-
什么意思?它可以工作,并显示“9”。
-
您正在执行笛卡尔联接,因为您没有开启条件。所以一个表中的每一行都与第二个表中的每一行相乘。您需要类似
a JOIN b ON a.id=b.id -
@Mihai 这正是我的意思,他从 A ,B 而不是从 A 内部连接 B 写的东西..
标签: mysql sql count where mysql-workbench