这是一个关于建立数据库的最佳方法的一般性问题,它不是特定于软件的,但对于信息来说,它是mysql。
我正在监视1000个“房屋”,以及在给定时间内有多少人在该房屋中,以便稍后用于一些统计数据,例如:
在特定的时间范围内,哪个房子通常是最满的
一般平均容量
所有房屋和特定房屋的最忙时间范围。
我会检查每小时有多少人在场。
设置这个mysql表的最佳方法是什么?
最佳答案
看起来您可能(可选)想要每个房子的条目(一个描述每个位置的房子表,带有某种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