请帮我创建使用别名和COUNT的查询。我有只有一个表,其中包含所有必要的信息,但由于我必须使用COUNT来获取最终结果中包含的人数,不幸的是我被迫使用别名,据我所知。
我有公司,城市和在这些公司工作的人员。 因此,我必须让每个城市的每个公司都有工作人员。 最初我试过这个:
SELECT COUNT (employee_name) FROM (SELECT company_city_name, company_name FROM mytable)
我在这里得到错误,说我必须使用别名。
我还试图结合" SELECT COUNT(employee_name)FROM mytable"和" SELECT company_city_name,company_name FROM mytable" (因为这两个查询分开工作):
SELECT COUNT (employee_name)
FROM mytable AND SELECT company_city_name, company_name FROM mytable
不工作,收到错误。我仍然没有t understand why I can
使用AND来使它工作。无论如何,对于别名我完全糊涂了。我有这样的事情:
SELECT COUNT (employee_name)
FROM (SELECT company_city_name AS city_name, company_name AS company FROM mytable AS t1)
我在哪里错了?
答案 0 :(得分:1)
对于此查询:
SELECT COUNT(employee_name)
FROM (SELECT company_city_name, company_name FROM mytable)
您指的是employee_name
,但子查询中没有名称。这个版本应该有效:
SELECT COUNT(employee_name)
FROM (SELECT company_city_name, company_name, employee_name FROM mytable) t
--------------------------------------------------------------------------^
但我不知道为什么你会想要一个子查询。
为什么我认为你想要聚合?
select company_name, company_city_name, count(*) as num_employees
from mytable
group by company_name, company_city_name;