• 区间统计


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

    结果如下图:

    数据来源:库=>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 序号,描述,总记录数
  • 相关阅读:
    qmake杂
    Qt界面风格设置
    qss使用详解
    QT数据库操作
    Qt语言家的简单使用
    c++11之右值引用和std::move
    c++11之类型萃取type_traits
    c++11之std::bind和function
    c++11之lambda
    vue中input输入框无法输入
  • 原文地址:https://www.cnblogs.com/mfkaudx/p/3636237.html
Copyright © 2020-2023  润新知