Showing posts with label Group By. Show all posts
Showing posts with label Group By. Show all posts

Thursday, November 7, 2019

เรียกดูข้อมูลทุก 15 นาที

ต้องการเรียกข้อมูลที่ลงท้ายด้วยนาที ที่ 0, 15,30 และ 45


แบบเดิม

SELECT Distinct TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime >=@D1 AND TagDateTime <=@D2
       and (DATEPART(minute,tagdatetime) % 15) = 0
        ORDER BY TagDateTime


อีกแบบ

SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
                              FROM YourTable
                              WHERE TagDatetime between @D1 and @D2
                              GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime),(DATEPART(MINUTE ,TagDateTime)/15)
                      )  

และถ้าต้องการเรียกทุกชั่วโมง

SELECT TagDateTime, Column2, Column3
FROM YourTable
WHERE TagDateTime IN ( SELECT MIN(TagDateTime)
                              FROM YourTable
                              WHERE TagDatetime between @D1 and @D2
                              GROUP BY CONVERT(VARCHAR(8), TagDateTime, 112), DATEPART(HOUR ,TagDateTime)
                      )