zoukankan      html  css  js  c++  java
  • 区间统计

    今天做东西的使用用到的一个区间统计,记录下来备忘下:

    结果如下图:

    数据来源:库=>AdventureWorks2008R2,表=> Sales.SalesOrderHeader[订单表],Sales.SalesOrderDetail[订单明细表]

    统计订单数量及各个区间段的情况。

     ;WITH myCte AS 
     (
     select SalesOrderID,SUM(OrderQty*UnitPrice) amount from Sales.SalesOrderDetail GROUP BY SalesOrderID
     )
    SELECT 条数= COUNT(1),序号,描述,N'占比'=CAST(COUNT(1)*100.0/总记录数 AS DECIMAL(10,4))  FROM  (
    SELECT 序号=1,ToStart=NULL,ToEnd=1000,描述='Bad' UNION ALL 
    SELECT 序号=2,ToStart=1000,ToEnd=3000,描述='Normal' UNION ALL 
    SELECT 序号=3,ToStart=3000,ToEnd=5000,描述='Good'  UNION ALL 
    SELECT 序号=4,ToStart=5000,ToEnd=NULL,描述='Excellent' )  a
      LEFT JOIN myCte b
      ON ((a.ToStart<=b.amount OR a.ToStart IS NULL ) ) AND (a.ToEnd>b.amount OR a.ToEnd IS NULL)
      CROSS JOIN (select 总记录数=COUNT(1) from Sales.SalesOrderHeader) c
      GROUP BY 序号,描述,总记录数
  • 相关阅读:
    事后诸葛亮
    OVS常用命令
    阿里云部署杂记
    Alpha冲刺总结
    测试随笔
    Alpha冲刺集合
    项目Alpha冲刺Day12
    项目Alpha冲刺Day11
    项目Alpha冲刺Day10
    MySQL修改密码
  • 原文地址:https://www.cnblogs.com/mfkaudx/p/3636237.html
Copyright © 2011-2022 走看看