这是关于我应该建立一个数据库的最佳方式的一般问题,它不是特定于一个软件,但为了提供信息,它是MYSQL。
我正在监测1000个“房子”,以及在给定时间有多少人出现在那个房子里,以便稍后在一些统计数据中使用,例如:
哪个房子在特定的时间范围内通常是最满的,平均容量通常是所有房子和特定房子的最繁忙的时间范围。
我会检查每小时有多少人在场。
设置这个mysql表的最佳方法是什么?
发布于 2012-07-28 08:43:01
看起来您可能(可选)想要每个房子的条目(一个用某种ID描述每个位置的房子表)。
然后,您将需要一个事务表,其中将包含房屋ID、人数和样本日期/时间。
这样你就可以分析你需要的东西了
例如:
House
HouseID int
Address1 varchar
etc etc..
Attendance
RecordID int (optional I suppose)
HouseID int
People int
SampleDate datetime查询像平均值这样的东西很容易
SELECT AVG(People) FROM Attendance WHERE HouseID = 1 AND SampleDate BETWEEN Date1 AND Date2在特定的时间范围内,哪个房子是最满的?
SELECT TOP 1 HouseID FROM Attendance GROUP BY HouseID ORDER BY SUM(People) DESC免责声明:这些查询中的某些/全部可能不起作用:)
编辑:它们确实可以工作!下面是一个SQL小提琴,展示了它们的实际操作
http://sqlfiddle.com/#!3/293e4/8
https://stackoverflow.com/questions/11697246
复制相似问题