在我的数据库中,我有列名称部门和雇用(返回类型是位 - 0或1),我想计算今年每个部门(有5个部门)雇用的员工人数并对部门进行排名谁拥有最高的员工。我需要帮助结合SQL查询。
这就是我如何计算0'1和1的SELECT COUNT(CASE Authorised WHEN 1 THEN 1 ELSE NULL END) FROM TableName;
这就是我今年可以选择日期的方式:`
SELECT distinct *
From TableName
WHERE Time BETWEEN CONVERT(Date,@Time) AND CONVERT(Date, @Time2)
如何组合这些查询?
答案 0 :(得分:0)
这是你的sql应该如何的一个例子。
declare @WhatEverYourTableNameIs Table
(
Department varchar(3),
employed bit,
employeddate date
)
Insert into @WhatEverYourTableNameIs
Values
('dem',1,'2014-1-1'),
('dem',1,'2014-2-1'),
('dem',0,'2014-2-1'),
('eem',1,'2013-2-1'),
('dem',1,'2013-2-1'),
('eem',1,'2014-2-1')
Select Department, Count(employed) AS Cnt
From @WhatEverYourTableNameIs
Where employeddate >'2013-12-31' and employed = 1
Group by Department
order by Cnt desc
答案 1 :(得分:0)
您需要使用此查询,查询将返回所有部门名称及其中的员工总数。
SELECT
DEPARTMENTNAME, COUNT(*) AS TOTAL
FROM
TABLENAME
WHERE
TIME BETWEEN
CONVERT(Date,@Time)
AND
CONVERT(Date, @Time2)
GROUP BY DEPARTMENTNAME
ORDER BY COUNT(*) DESC