<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      T-SQL——關于時間段類報表

      shanzm-2024-4-3 11:11:20

      1.背景說明

      • 需要查詢一個以時間段為列的報表
      • 可以篩選除各個時間段進行連接查詢出來
      • 可以通過 Case When 將時間差轉為時間段,在進行轉列


      2.簡單示例

      
      --各個品牌尚未發貨的訂單,從訂單創建時間到當前時間的各個時間段的數量
      WITH OrdersTable AS 
      (
      SELECT NEWID() AS OrderId, 'Brand1' AS Name  ,'2024-4-17 01:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 01:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 06:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 06:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 11:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 11:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 16:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 16:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 21:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand1' AS Name  ,'2024-4-17 21:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId, 'Brand2' AS Name  ,'2024-4-17 01:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 01:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 06:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 06:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 11:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 11:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 16:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 16:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 21:10:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-17 21:20:00' AS CreateTime 
      UNION ALL	
      SELECT NEWID() AS OrderId,'Brand2' AS Name  ,'2024-4-16 08:20:00' AS CreateTime 	
      )
      ,temp1 AS 
      (
      --第一步:算出訂單與當前時間的差值(這個使用'2024-4-18 00:00:00'作為當前時間)
      SELECT * , DATEDIFF(HOUR, OrdersTable.CreateTime, '2024-4-18 01:00:00') AS TimeDiff FROM  OrdersTable 
      )
      ,temp2 AS (
      --第二步:使用CASE WHEN 將時間差值轉為時間段
      SELECT *,CASE
               WHEN (   TimeDiff >= 0
                  AND   TimeDiff < 5) THEN 'H0h~5h'
               WHEN (   TimeDiff >= 5
                  AND   TimeDiff < 10) THEN 'H5h~10h'
               WHEN (   TimeDiff >= 10
                  AND   TimeDiff < 15) THEN 'H10h~15h'
               WHEN (   TimeDiff >= 15
                  AND   TimeDiff < 20) THEN 'H15h~20h'
               WHEN (   TimeDiff >= 20
                  AND   TimeDiff < 25) THEN 'H20h~25h'
               WHEN (   TimeDiff >= 25
                  AND   TimeDiff < 30) THEN 'H25h~30h'
               ELSE 'Greater30' END PeriodOfTime FROM	 temp1
      )
      ,temp3 AS 
      (
      --第三步:按時間段和品牌聚合求Count
      SELECT temp2.Name,temp2.PeriodOfTime,COUNT(temp2.OrderId) AS OrderCount  FROM  temp2 GROUP	 BY	 Name,PeriodOfTime
      )
      ,temp4 AS 
      (
      --第四步:行轉列
      SELECT T.Name,T.[H0h~5h],T.[H5h~10h],T.[H10h~15h],T.[H15h~20h],T.[H20h~25h],T.Greater30
      FROM  temp3 PIVOT (SUM(OrderCount) FOR	PeriodOfTime IN([H0h~5h],[H5h~10h],[H10h~15h],[H15h~20h],[H20h~25h],[Greater30]))T
      ) 
      SELECT * FROM  temp4
      
      
      Name   H0h~5h      H5h~10h     H10h~15h    H15h~20h    H20h~25h    Greater30
      ------ ----------- ----------- ----------- ----------- ----------- -----------
      Brand1 2           2           2           2           2           NULL
      Brand2 2           2           2           2           2           1
      
      posted @ 2024-04-17 11:12  shanzm  閱讀(53)  評論(0)    收藏  舉報
      TOP
      主站蜘蛛池模板: 国产品精品久久久久中文| 色综合视频一区二区三区| 亚洲欧洲一区二区天堂久久| 国产精品久久亚洲不卡| 免费无码AV一区二区波多野结衣 | 亚洲人成小说网站色在线| 国产熟睡乱子伦视频在线播放| 国产精品夜夜春夜夜爽久久小说| 欧美日韩在线第一页免费观看| 99在线小视频| 苍井空毛片精品久久久| 亚洲午夜av一区二区| 成人免费乱码大片a毛片| 国产性天天综合网| 欧美乱大交aaaa片if| 亚洲av天堂综合网久久| 一区二区国产精品精华液| 在线成人| 又粗又硬又黄a级毛片| 国产精品视频一区二区噜噜| 欧美午夜精品久久久久久浪潮| 亚洲人成网站77777在线观看| 18禁黄无遮挡网站免费| 亚洲人成自拍网站在线观看| 色综合久久中文字幕综合网| 亚洲中文精品久久久久久不卡 | 国产精品久久久国产盗摄| 国产成人最新三级在线视频| 亚洲av色在线播放一区| 日本一本正道综合久久dvd| 亚洲精品不卡av在线播放| 日本免费视频| 亚洲中文字幕久久精品码| 国产精品午夜福利合集| 成人无码潮喷在线观看| 成人欧美日韩一区二区三区| 又粗又硬又黄a级毛片| 绝顶丰满少妇av无码| 欧美日韩精品一区二区三区不卡 | 日本深夜福利在线观看| 国产乱人伦AV在线麻豆A|