zoukankan      html  css  js  c++  java
  • 考勤率

    SELECT  cast(cast( SUM(SumTime)*100 as float)/SUM(TotalTime) as decimal(10,2))  FROM (
    SELECT ROW_NUMBER() OVER(ORDER BY CamId) AS RowNum,CamId,CamName,CamDateStartUse,
                                (SELECT DevTypeName FROM dbo.Com_DevType WHERE DevTypeId=CamTypeId) AS DevTypeName
                                ,SUM(ISNULL(CamTimer_Unit,0)) AS SumTime,
                                ISNULL(DATEDIFF(MINUTE,CASE WHEN '2016-05-01'<DATEADD(DAY,1,CONVERT(varchar(100), ISNULL(CamDateStartUse,'1900-1-1'), 23))
                                THEN DATEADD(DAY,1,CONVERT(varchar(100), ISNULL(CamDateStartUse,'1900-1-1'), 23)) ELSE '2016-05-01' END,CASE WHEN '2016-05-28'>GETDATE() THEN DATEADD(HOUR,1,GETDATE()) ELSE '2016-05-28' END),0)
                                 AS TotalTime
                                FROM dbo.Dat_Camera LEFT JOIN dbo.Dat_CameraTimer
                                ON CamTimer_CamId=CamId
                                AND CamTimer_CreateTime>=CASE WHEN '2016-05-01'<DATEADD(DAY,1,CONVERT(varchar(100), CamDateStartUse, 23))
                                THEN DATEADD(DAY,1,CONVERT(varchar(100), CamDateStartUse, 23)) ELSE '2016-05-01' END AND CamTimer_CreateTime<='2016-05-28'
                                WHERE CamProjId='11980'
                                AND (CamFlowState=15 or CamFlowState=16)
                                AND CamTypeId IN(SELECT DevTypeId FROM dbo.Com_DevType WHERE DevCategory=1)
                                GROUP BY CamId,CamName,CamTypeId,CamDateStartUse) AS t

  • 相关阅读:
    随笔:我为什么要写博客?
    用纯C语言写的一个植物大战僵尸的外挂
    方法:如何获取操作系统所有分区(逻辑驱动器)
    Srping syntactically incorrect.错误记录
    重建项目报错
    easyui datagrid 跨页选择
    CentOS 6编译安装ipvsadm和keepalived
    CentOS 6下ActiveMQ 5.5安装及使用MySQL
    extjs 4中TreePanel和GridPanel使用
    Linux安装性能问题
  • 原文地址:https://www.cnblogs.com/change4now/p/5665190.html
Copyright © 2011-2022 走看看