สอบถามครับ อยากรู้ว่าเราจะนับจำนวนวันที่ user เข้ามาเบิกของ 3 วันติดต่อกันยังไง
ทำได้ละยังครับ
Date :
2016-11-12 18:21:37
By :
Luz
เห็นน่าสนใจเลยลองไปเขียน SQL ดู ไม่รู้ตอบโจทย์หรือเปล่า
Code (SQL)
SELECT user, req_date, count(num)
FROM `stock`
WHERE req_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 2 DAY) AND CURDATE()
AND num > 0
GROUP BY user
HAVING COUNT(num) >= 3
แสดงเฉพาะรายการที่นับแล้วได้ 3 ในตาราง stock
โดยใน WHERE จะเอาเฉพาะ req_date ตั้งแต่วันนี้ถอยไป 2 วัน
(2016-11-10 ถึง 2016-11-12)
หาพบข้อมูลก็จะแสดง user และจำนวน record ที่นับได้ (ไม่ใช่ยอด num)
ถ้าไม่พบแสดงว่า 3 วันนี้ยังไม่มีใครถึงก็ต้องนับถอยไปอีก 1 วัน (INTERVAL 2 DAY ตรงเลข 2 จะเปลี่ยนไปเรื่อยๆ)
(2016-11-09 ถึง 2016-11-12)
ถ้าไม่พบอีกก็ถอยไปเรื่อยๆ
ปล. ซึ่งถ้าต่อเนื่องจริง ก็ต้องพบตั้งแต่ 3 วันย้อนหลังแล้ว
Date :
2016-11-12 20:23:52
By :
{Cyberman}
ได้แล้ว ขอบคุณมากเลยครับ
Date :
2016-11-13 09:06:04
By :
giverplus
Date :
2016-11-13 11:13:39
By :
{Cyberman}
Load balance : Server 05