使用特定日期计算第1和第0的数量

时间:2014-02-26 12:00:25

标签: c# sql

在我的数据库中,我有列名称部门和雇用(返回类型是位 - 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)

如何组合这些查询?

2 个答案:

答案 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