2017-02-14 98 views
0

一家公司想知道自从1999年初以来雇佣情况发生了什么。人力资源经理要求你 产生从此之后雇用的员工数,同时按年龄和性别分列(即男性17人,女性25人等)。写一个这样的查询。SQL:合并/连接两列的计数

这是我到目前为止。我无法弄清楚如何同时合并两列。有什么想法吗?

SELECT EmployeeID, COUNT(*) AS "Number of employees" 
FROM Employee 
WHERE Age and Gender 
GROUP BY EmployeeID 
HAVING COUNT(*) BEGIN = 1999 
+0

您能否提供您的表格列和您问题中的示例数据?如果我正确理解你的问题,[这个链接](http://www.w3schools.com/sql/sql_and_or.asp)将会对你有好处! –

+0

以下是一些想法。你有一个查询得到的结果是“性别分解”的结果吗? “GROUP BY EmployeeId”将获得员工ID“细分”的计数。考虑用不同的表达式(如性别)替换对EmployeeId的引用。至于“年龄”的分解,是雇员的当前年龄,还是他们雇用的年龄?为了做到这一点,您似乎需要了解“雇用日期”与员工“出生日期”之间的差异(全年)。 – spencer7593

回答

0

我不是非常确定自己的需求,但是编写一个查询是如下这样可以实现略有改动你的要求,以正确的方式...

SELECT Gender, COUNT(*) AS "Number of employees", Age 
FROM Employee 
WHERE year(column_name) >= 1999 --Give a real date column here 
GROUP BY Age, Gender 

请提供表结构并为完整的答案完成所需的输出。