地市区县统计

地市区县统计

-- 地市统计
WITH a AS (
    SELECT 地市, COUNT(*) AS 总卡资源量, SUM(CAST(卡资源时长分钟 AS decimal(18, 6))) AS 总卡资源时长
    FROM HJ 
    GROUP BY 地市
)
SELECT *,
    CASE 
        WHEN 地市 <> '全区' THEN 总卡资源时长 / 总卡资源量 
        ELSE 总卡资源时长 / 总卡资源量 
    END AS 平均卡资源时长
FROM (
    SELECT * FROM a
    UNION ALL 
    SELECT '全区' AS 地市, SUM(总卡资源量) AS 总卡资源量, SUM(总卡资源时长) AS 总卡资源时长
    FROM a
) AS subquery
ORDER BY 地市;
-- 区县统计
WITH a AS (
    SELECT 地市, 区县, COUNT(*) AS 总卡资源量, SUM(CAST(卡资源时长分钟 AS decimal(18, 6))) AS 总卡资源时长
    FROM HJ 
    GROUP BY 地市,区县
)
SELECT *,
    CASE 
        WHEN 地市 <> '全区' THEN 总卡资源时长 / 总卡资源量 
        ELSE 总卡资源时长 / 总卡资源量 
    END AS 平均卡资源时长
FROM (
    SELECT * FROM a
    UNION ALL 
    SELECT '全区' AS 地市, NULL, SUM(总卡资源量) AS 总卡资源量, SUM(总卡资源时长) AS 总卡资源时长
    FROM a
) AS subquery
ORDER BY 地市;
-- 浩鲸卡单资源数据统计
WITH 
a AS (
 SELECT left(CONVERT(VARCHAR,CAST(派单时间 AS date), 110),5) AS 派单时间日期,* FROM HJ
),
b AS (
  SELECT 派单时间日期,地市,COUNT(*) AS 总卡资源量,SUM(CAST(卡资源时长分钟 AS decimal(18, 6))) AS 总卡资源时长
  FROM a
  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 派单时间日期,地市;
--从CREATE开始执行下边的T-sql语句,就可以成功生成一个全国省市区级的地区表。 CREATE TABLE gst_Area( ID int , Name varchar2(100), ParentID int, --父类地区序号 FullID varchar2(40), --完整编号 Grade int, --级别 UnderlingFlag int, --是否市级以上 1是 0否 Sequence int, --地区序号 code varchar2(12), --地区编号 cityId varchar2(12), --城市编号 provinceId varchar2(12));--省编号 ALTER TABLE gst_Area ADD CONSTRAINTS PK_gst_Area PRIMARY KEY ( ID ); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 1,'北京市',0,'0',1,1,1); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 2,'天津市',0,'0',1,1,2); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 3,'河北省',0,'0',1,1,3); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 4,'山西省',0,'0',1,1,4); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 5,'内蒙古',0,'0',1,1,5); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 6,'辽宁省',0,'0',1,1,6); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 7,'吉林省',0,'0',1,1,7); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 8,'黑龙江',0,'0',1,1,8); INSERT INTO gst_Area (ID,Name,ParentID,FullID,Grade,UnderlingFlag,Sequence) VALUES ( 9,'上海市',0,'0',1,1,9);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值