2012-07-28 93 views
1

这是关于我应该设置数据库的最佳方式的一般问题,它不是特定于软件,而是信息是MYSQL。构建数据库表中数据的最佳方法

我监视1000“家”,又有多少人是存在于该房子在给定时间以后在一些统计数据,如使用:

这房子通常最充分的是在一个特定的时间范围 平均容量一般 所有房屋和特定房屋的最长时间范围。

我将检查每小时有多少人在场。

什么是建立这个MySQL表的最佳方式?

回答

3

看起来你会(可选)想要每个房子的条目(一个房子表来描述每个位置,用某种类型的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 

免责声明:部分/全部这些查询可能无法正常工作: )

编辑:他们工作!这里的显示动作

http://sqlfiddle.com/#!3/293e4/8

+0

他们一个SQL小提琴这是我怎么想的,但我被困在查询会怎么看,这是有道理的现在。 – ParoX 2012-07-28 00:45:42

+0

编辑答案添加一些更多细节和演示 – Charleh 2012-07-28 00:52:10

相关问题