【发布时间】:2015-07-31 10:31:27
【问题描述】:
我已阅读此question,但它并没有真正帮助我。 我有一个类似的房屋预订系统。因此,每当有人需要租房时,他只需登录并选择他想要的房子是免费的时间,然后预订。所以就我而言,我也有一个 start_time 和 end_time。在我的记录中,我为每个日期精确了时间(日期时间格式),因此我可以根据时间精度计算日期差异。这是我的数据库示例:
CREATE TABLE IF NOT EXISTS `bookings` (
`id_booking` int(11) NOT NULL AUTO_INCREMENT,
`id_user_staff` int(11) NOT NULL,
`start_date` datetime NOT NULL,
`end_date` datetime NOT NULL,
`details` text,
`statut` varchar(45) DEFAULT NULL,
`id_house` int(1) NOT NULL,
`fees` decimal(6,0) DEFAULT NULL,
`ip_user` varchar(15) NOT NULL,
`date_booked` datetime DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id_booking`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
CREATE TABLE IF NOT EXISTS `users` (
`id_user` int(5) NOT NULL DEFAULT '0',
`Last_Name` varchar(23) DEFAULT NULL,
`First_Name` varchar(23) DEFAULT NULL,
`Job_Title` varchar(56) DEFAULT NULL,
`Status` varchar(19) DEFAULT NULL,
`Company` varchar(38) DEFAULT NULL,
`Mobile` varchar(50) DEFAULT NULL,
PRIMARY KEY (`id_user`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `house` (
`id_house` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(45) NOT NULL,
`details` text,
PRIMARY KEY (`id_house`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;
我现在的需要是确定房屋在一年内的占用情况,该精确度基于该房屋的预订天数。该百分比是基于预订天数与一年中天数的比率。 什么是我的查询来获得天数并试图避免类似问题的问题,有时会计算两次?
【问题讨论】:
-
听起来您已经有一个返回一些不需要的值的查询?介意与我们分享吗?
-
人们按小时预订房屋?
-
分享你当前的查询你做了什么来得到结果?
-
@Olli 我已经使用了我注意到的问题的查询
标签: mysql sql date count intervals