簡體   English   中英

MySQL-如何獲得連續預定天數的用戶?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM