【发布时间】:2014-08-14 08:57:10
【问题描述】:
我有两个表:users 和 works
我需要编写 select 查询,以便 从 users 表中计算不同的名称,其中 work_status = 1 from works 表
总数是:3个约翰,1个汤姆
我需要得到结果:
John 2(2 因为一个 John work_status = 0 ant 这不算数)
汤姆 1
我写了可以计算不同名字的select,只需要比较work_status..
SELECT name,COUNT(*) as num FROM users GROUP BY name
我的查询返回:
【问题讨论】:
-
这个例子是完全错误的。根据该关系,每个用户只有 1 个作品。注意works表中的
user_id值 -
@Hanky웃Panky 你是对的。我重写了我的答案。我认为公司有三个不同的约翰。
-
这只是数据示例,我的真实表不是这个(但我需要那个查询)
-
但是您的示例不正确,我们的答案也可能不正确。他们是三个不同的约翰,还是他们都是同一个人?
-
@JCalcines,示例数据很清楚,尽管选择不当。我相信你已经被概念迷住了。如果您将名称想象为类别,请说性别(John=Male,Tom=Female);然后可以将查询视为获取每个性别状态为 1 的作品的数量。
标签: mysql