-- 1. ตั้งค่าตัวแปร (Configuration)
DECLARE @TargetDays INT = 90;
DECLARE @StartDate DATETIME = '2024-10-01 00:00:00';
DECLARE @EndDate DATETIME = '2025-09-30 23:59:59';
-- 2. กำหนดรายการรหัสเทสที่ต้องการวัดผล
DECLARE @Test_code TABLE (ItemCode VARCHAR(50));
INSERT INTO @Test_code VALUES ('SR065'), ('SRT079');
-- 3. ส่วนการคำนวณ Logic
WITH RawData AS (
SELECT
[HN],
[REQ ITEM CHECKIN DATETIME] AS CheckinDate
FROM dbo.view_lab_statistic_Order_List WITH (NOLOCK)
WHERE [REQ ITEM CODE] IN (SELECT ItemCode FROM @Test_code)
AND [REQ ITEM CHECKIN DATETIME] BETWEEN @StartDate AND @EndDate
),
CalculatedSteps AS (
SELECT
[HN],
-- หาผลต่างจำนวนวันระหว่างการตรวจครั้งนี้กับครั้งถัดไป
DATEDIFF(DAY, CheckinDate, LEAD(CheckinDate) OVER (PARTITION BY [HN] ORDER BY CheckinDate)) AS DaysDiff
FROM RawData
)
-- 4. สรุปยอดรวมจำนวนคน (Unique HN) ที่เข้าเงื่อนไข
SELECT
COUNT(DISTINCT [HN]) AS Total_Repeat_Patients
FROM CalculatedSteps
WHERE DaysDiff IS NOT NULL
AND DaysDiff <= @TargetDays;
To embed this project on your website, copy the following code and paste it into your website's HTML: