WITH TABLEA AS(
SELECT 'SM' as 's','2023-2-14' AS 'DT','2023-2-14 21:13' AS 'ReqTime','02 14 2023' AS 'TT','127' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-14' AS 'DT','2023-2-14 21:15' AS 'ReqTime','02 14 2023' AS 'TT','109' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-14' AS 'DT','2023-2-14 21:16' AS 'ReqTime','02 14 2023' AS 'TT','94' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 1:08' AS 'ReqTime','02 15 2023' AS 'TT','159' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 1:10' AS 'ReqTime','02 15 2023' AS 'TT','117' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 1:11' AS 'ReqTime','02 15 2023' AS 'TT','94' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 22:36' AS 'ReqTime','02 15 2023' AS 'TT','126' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 22:38' AS 'ReqTime','02 15 2023' AS 'TT','164' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-15' AS 'DT','2023-2-15 22:42' AS 'ReqTime','02 15 2023' AS 'TT','158' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 3:27' AS 'ReqTime','02 16 2023' AS 'TT','294' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 3:31' AS 'ReqTime','02 16 2023' AS 'TT','131' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 3:32' AS 'ReqTime','02 16 2023' AS 'TT','169' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 23:11' AS 'ReqTime','02 16 2023' AS 'TT','159' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 23:15' AS 'ReqTime','02 16 2023' AS 'TT','88' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-16' AS 'DT','2023-2-16 23:16' AS 'ReqTime','02 16 2023' AS 'TT','112' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-17' AS 'DT','2023-2-17 3:22' AS 'ReqTime','02 17 2023' AS 'TT','130' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-17' AS 'DT','2023-2-17 3:25' AS 'ReqTime','02 17 2023' AS 'TT','143' AS 'GS' UNION ALL
SELECT 'SM' as 's','2023-2-17' AS 'DT','2023-2-17 3:26' AS 'ReqTime','02 17 2023' AS 'TT','160' AS 'GS'
)
SELECT FLAG,SUM(CONVERT(DECIMAL(20,4),GS)) [SUM_] FROM (
SELECT *,(CASE WHEN CONVERT(DATETIME,ReqTime,120)>=FORMAT(CONVERT(DATETIME,ReqTime,120),'yyyy-MM-dd 20:00:00') THEN CONVERT(DATE,ReqTime,120) WHEN CONVERT(DATETIME,ReqTime,120)>=FORMAT(CONVERT(DATETIME,ReqTime,120),'yyyy-MM-dd 00:00:00') AND CONVERT(DATETIME,ReqTime,120)<FORMAT(CONVERT(DATETIME,ReqTime,120),'yyyy-MM-dd 09:00:00') THEN DATEADD(DAY,-1,CONVERT(DATE,ReqTime,120)) ELSE CONVERT(DATE,ReqTime,120) END ) AS 'FLAG' FROM TABLEA
) T GROUP BY FLAG
