我想提取具有空的bookingID的记录并获得最多未预订的天数(从第一个免费日).预期结果应该是:
ID = 1,2013-08-03,7 days freeID = 1,2013-08-24,7 days freeID = 2,2013-08-07,10 days freeID = 2,7 days free
最好的事情是,如果我还可以查询免费时间段:例如查询1,2,3,4,5,6,7..14 ..免费日.这是我的源数据的一个示例:
ID bookingDate bookingID--------------------------------1 2013-08-03 01 2013-08-04 01 2013-08-05 01 2013-08-06 01 2013-08-07 01 2013-08-08 01 2013-08-09 01 2013-08-10 1121 2013-08-11 1121 2013-08-12 1121 2013-08-13 1121 2013-08-14 1121 2013-08-15 1121 2013-08-16 1121 2013-08-17 1121 2013-08-18 1121 2013-08-19 1121 2013-08-20 1121 2013-08-21 1121 2013-08-22 1121 2013-08-23 1121 2013-08-24 01 2013-08-25 01 2013-08-26 01 2013-08-27 01 2013-08-28 01 2013-08-29 01 2013-08-30 01 2013-08-31 02 2013-08-03 782 2013-08-04 782 2013-08-05 782 2013-08-06 782 2013-08-07 02 2013-08-08 02 2013-08-09 02 2013-08-10 02 2013-08-11 02 2013-08-12 02 2013-08-13 02 2013-08-14 02 2013-08-15 02 2013-08-16 02 2013-08-17 392 2013-08-18 392 2013-08-19 392 2013-08-20 392 2013-08-21 392 2013-08-22 392 2013-08-23 392 2013-08-24 02 2013-08-25 02 2013-08-26 02 2013-08-27 02 2013-08-28 02 2013-08-29 02 2013-08-30 02 2013-08-31 0
如果有人对更好的数据结构有个好主意,我可以尝试实现.该数据库仍在建设中:-)
编辑:
CREATE table IF NOT EXISTS `pricesBookings` ( `ID` int(11) NOT NulL auto_INCREMENT,`baseID` int(11) NOT NulL,`bookingDate` date NOT NulL,`bookingID` int(11) NOT NulL,`price` decimal(10,2) NOT NulL,PRIMARY KEY (`ID`),UNIQUE KEY `baseID` (`baseID`,`bookingDate`)) ENGINE=InnoDB DEFAulT CHARSET=utf8;
最佳答案这应该给出正确的结果:select ID,min(startDate) as startFreeDate,count(*) - (endDate is null) numFreeDaysfrom ( select pb1.ID,pb1.bookingDate startDate,min(pb2.bookingDate) endDate from pricesBookings pb1 left join pricesBookings pb2 on pb1.ID=pb2.ID and pb2.price>0 and pb2.bookingDate>pb1.bookingDate where pb1.price=0 group by pb1.ID,pb1.bookingDate) sgroup by ID,endDateorder by ID,startDate
看它here.
如果您需要搜索所有免费插槽,例如14天,您可以添加HAVING:
group by ID,endDatehaving count(*) - (endDate is null) >= 14order by ID,startDate
总结 以上是内存溢出为你收集整理的用mysql查找日期空白全部内容,希望文章能够帮你解决用mysql查找日期空白所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)