[SQL ] 連續時間範圍查詢

看板Database作者 (popmij)時間8年前 (2015/12/14 19:23), 編輯推噓1(104)
留言5則, 2人參與, 最新討論串1/1
(針對 SQL 語言的問題,用這個標題。請用 Ctrl+Y 砍掉這行) 資料庫名稱: MySQL 資料庫版本: 5.6 內容/問題描述: 這是我朋友問我的一個問題,本來以為不會很難... 結果還真的無法用一個SELECT做出條件XD 假設一家餐廳有會員制,每次來的會員都會記錄在資料庫內。 要如何找出連續三個月(假設90天)都有來的會員 EX: 撈取範圍 2015/01/01 - 2015/12/14 他的意思是 A會員 上次來的時間是 2015/08/01 (以今日來說已經超過90天了) 上兩次來的時間是 2015/07/15 (雖然前一次沒超過90天,但上次來的時間已經超過,不符合。) B會員 上次來的時間是 2015/10/01 (以今日來說有在90天內,符合條件!) 上兩次來的時間是 2015/07/15 (以2015/10/01來說在90天內,符合條件!) 上三次來的時間是 2015/05/15 (以2015/10/01來說在90天內,符合條件!) ...... 直到距離2015/01/01皆有90天者,符合條件! 本來我想要借助第二語言(PHP、JSP...等) 這樣子就很好達成結果。 但我也好奇這樣是否有辦法讓SQL條件式一次得到結果XD 感謝各位大大XD `account` ------------ `id` - primary id `name` - varchar `check` ------------ `id` - primary id `check_time` - int(10) unsigned [UNIX Time] -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.254.121.44 ※ 文章網址: https://www.ptt.cc/bbs/Database/M.1450092229.A.AE7.html

12/15 00:06, , 1F
同表自串找兩兩<=90, 同Accoun不同日期, 紀錄大小日期
12/15 00:06, 1F

12/15 00:07, , 2F
串出來的結果, 再將此結果 inner join ID,日期兩次
12/15 00:07, 2F

12/15 00:07, , 3F
有資料存在就是連三次來訪的資料
12/15 00:07, 3F

12/17 09:47, , 4F
請問要怎麼做同表自串,最近也有類似的問題
12/17 09:47, 4F

12/17 09:47, , 5F
謝謝你
12/17 09:47, 5F
文章代碼(AID): #1MRgR5hd (Database)