接昨天的问题,再问一个统计问题

yingxiongmingduan 2010-05-03 03:22:24

SELECT
A.cPsn_num,c.cPsn_name,
b.cDepCode,b.cDepName,b.FloorGroupName,c.denterUnitdate,c.dLeaveDate,
CAST(ROUND(sum(isnull(d.PLate10,0)),2) AS numeric(12,2)) AS PLate10,
sum(isnull(d.PLate20,0)) AS PLate20,
sum(isnull(d.PLate30,0)) AS PLate30,
sum(isnull(d.PLate60,0)) AS PLate60,
sum(isnull(d.PEarly10,0)) AS PEarly10,
sum(isnull(d.PEarly20,0)) AS PEarly20,
sum(isnull(d.PEarly30,0)) AS PEarly30,
sum(isnull(d.PEarly60,0)) AS PEarly60,
SUM(ISNULL(d.priAleave,0)) AS priAleave,
SUM(ISNULL(d.SickLeave,0)) AS SickLeave,
SUM(ISNULL(d.CompensationTime,0)) AS CompensationTime,
SUM(ISNULL(d.LackMaterials,0)) AS LackMaterials,
SUM(ISNULL(d.WaitMatNight,0)) AS WaitMatNight,

SUM(CASE WHEN (isnull(a.nWorkHours1,0))>0.5 THEN 1 ELSE 0 END)AS haveatt,
sum(isnull(a.iOneCheckTimes,0)) AS iOneCheckTimes,--漏卡
sum(isnull(a.iAbsentTimes,0)) AS iAbsentTimes,--旷工次数
sum(isnull(a.nAbsentHour,0)-isnull(a.nAbsentHour1,0)) AS nAbsentHour,--旷工时间
sum(isnull(a.nAbsentHour1,0)) AS nAbsentHour1,--单刷卡旷工时间
sum(isnull(a.nEAbsentMinute,0)) AS nEAbsentMinute,--早退
sum(isnull(a.nLAbsentMinute,0)) AS nLAbsentMinute,--迟到
sum(isnull(a.nWorkHours,0))/60 AS nWorkHours,--排班时间
sum(isnull(a.nWorkHours1,0)) AS nWorkHours1,--实际上班时间
sum(isnull(a.LegalHoliday,0)) AS LegalHoliday,--节假日加班时间
SUM(ISNULL(A.WeekEndTime,0)) AS WeekEndTime, ---周末加班时间
SUM(ISNULL(A.NormaltTime,0)) AS NormaltTime, ---正常上班时间
SUM(ISNULL(A.OTTIME,0)) AS OTTIME, ---平时加班时间
30 AS PerfectAttendance
INTO #T1



我上面是求和了,但是我要统计次数,比如有10分钟的有几次。




...全文
75 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
今天大牛们都休假了啊
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 happycell188 的回复:]
SQL code
count(case when '条件' then 1 else 0 end)
[/Quote]
有6个?
喜-喜 2010-05-03
  • 打赏
  • 举报
回复
count(case when '条件' then 1 else 0 end)
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 hetl_1985 的回复:]
或者用CASE来嘛
[/Quote]
汗,我试试
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 lovezx1028 的回复:]
SQL code



select * from tableName where times between 0 and 10
[/Quote]
朋友不是写的那么简单
lovezx1028 2010-05-03
  • 打赏
  • 举报
回复



select * from tableName where times between 0 and 10
lovezx1028 2010-05-03
  • 打赏
  • 举报
回复

select * from tableName where times between 0 and 10
悔说话的哑巴 2010-05-03
  • 打赏
  • 举报
回复
或者用CASE来嘛
悔说话的哑巴 2010-05-03
  • 打赏
  • 举报
回复
select count(*) from tb where 时间>0 and 时间=<10这样来判断啊
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
各位大哥来帮帮忙啊
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
每个时间段类的次数啊,比如10分钟以类它有几次就是几次,不是总共多少分钟
yingxiongmingduan 2010-05-03
  • 打赏
  • 举报
回复
汗,这个我知道啊,老实报错,要不达不到我要的效果啊
悔说话的哑巴 2010-05-03
  • 打赏
  • 举报
回复
COUNT函数啊

22,209

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧