[SQL ] 连续时间范围查询

楼主: jimpop (popmij)   2015-12-14 19:23:46
(针对 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`
作者: konkonchou (卡卡猫)   2015-12-15 00:06:00
同表自串找两两<=90, 同Accoun不同日期, 纪录大小日期串出来的结果, 再将此结果 inner join ID,日期两次有资料存在就是连三次来访的资料
作者: amber01   2015-12-17 09:47:00
请问要怎么做同表自串,最近也有类似的问题谢谢你

Links booklink

Contact Us: admin [ a t ] ucptt.com