[英]Mysql - How to get users who booked a certain number of days in a row?
假設我有一個包含以下各列的表(tbl_reservations):
p_id
userid
reservation_id
book_date
db_add_date
p_id userid reservation_id book_date
1 01 124534 2016-02-19 2016-02-19
2 01 124554 2016-02-20 2016-02-20
3 01 124564 2016-02-21 2016-02-21
4 01 167823 2016-02-22 2016-02-22
5 01 12313 2016-02-23 2016-02-23
6 02 134564 2016-02-21 2016-02-21
7 03 197823 2016-02-22 2016-02-22
8 02 13313 2016-02-23 2016-02-23
**Desired Result**
As userid 01 booked reservation since last 5 days regularty it will appear in query result
userid
01
我想獲得連續預定天數的用戶嗎?
例如,我想吸引過去5天預訂的唯一身份用戶
誰能幫助我如何建立對此的查詢? 這將是一個很大的幫助。 謝謝。
如果您希望最近五天預訂過的唯一身份用戶,那么類似的查詢似乎可以滿足您的要求:
select userid
from tbl_reservations
where bookdate > date_sub(curdate(), interval 5 day) and bookdate <= curdate()
group by userid;
如果您希望全天預訂的用戶:
select userid
from tbl_reservations
where bookdate > date_sub(curdate(), interval 5 day) and bookdate <= curdate()
group by userid
having count(*) = 5;
試試這個查詢:
SELECT userid
from tbl_reservations
WHERE book_date >= DATE_SUB(CURDATE(), INTERVAL 5 DAY) AND book_date <= CURDATE()
GROUP BY userid
HAVING COUNT(*) = 5;
試試這個sql。您將獲得從當前日期起預訂列表的最近%天
select count(userid), userid
from tbl_reservations
where (book_date > DATE_ADD(CURDATE(), INTERVAL -5 DAY) and book_date<=CURDATE())
group by userid
having count(*) = 5;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.