SQL Server统计数据以及添加一个全量统计

SQL Server统计数据以及添加一个全量统计

-- HJ卡资数据统计
WITH b AS (
  SELECT --left(CONVERT(VARCHAR,CAST(派单时间 AS date), 110),5) AS 格式化日期,
  派单日期, 地市, COUNT(*) AS 总卡资源量, SUM(CAST(卡资源时长分钟 AS decimal(18, 6))) AS 总卡资源时长
  FROM HJ
  GROUP BY 派单日期, 地市
)
SELECT 派单日期, 地市, 总卡资源量, 总卡资源时长,
CASE WHEN 地市 <> '全区' THEN 总卡资源时长 / 总卡资源量 ELSE 总卡资源时长 / 总卡资源量 END AS 平均卡资源时长 
       -- CASE WHEN 地市 = '广西' THEN SUM(总卡资源时长) ELSE 总卡资源时长 / 总卡资源量 END AS 平均卡资源时长
FROM
(
    SELECT * FROM b 
    UNION ALL 
    SELECT 派单日期, '全区' AS 地市, SUM(总卡资源量) AS 总卡资源量, SUM(总卡资源时长) AS 总卡资源时长
    FROM b
    GROUP BY 派单日期
) AS subquery 
GROUP BY 派单日期, 地市, 总卡资源量, 总卡资源时长 
ORDER BY 派单日期;

-- LC卡资数据统计
WITH b AS (
  SELECT 派单日期, 地市, COUNT(*) AS 总卡资源量, SUM(CAST(资源配置时间 AS decimal(18, 6))) AS 总卡资源时长
  FROM LC
  GROUP BY 派单日期, 地市
)
SELECT 派单日期, 地市, 总卡资源量, 总卡资源时长,
CASE WHEN 地市 <> '全区' THEN 总卡资源时长 / 总卡资源量 ELSE 总卡资源时长 / 总卡资源量 END AS 平均卡资源时长 
       -- CASE WHEN 地市 = '广西' THEN SUM(总卡资源时长) ELSE 总卡资源时长 / 总卡资源量 END AS 平均卡资源时长
FROM
(
    SELECT * FROM b 
    UNION ALL 
    SELECT 派单日期, '全区' AS 地市, SUM(总卡资源量) AS 总卡资源量, SUM(总卡资源时长) AS 总卡资源时长
    FROM b
    GROUP BY 派单日期
) AS subquery 
GROUP BY 派单日期, 地市, 总卡资源量, 总卡资源时长 
ORDER BY 派单日期;

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值