1

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

我正在监视 1000 个“房屋”以及在给定时间该房屋中有多少人,以便以后用于一些统计数据,例如:

哪个房子通常在特定时间范围内最满 总体平均容量 所有房子和特定房子的最繁忙时间框架。

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

设置这个 mysql 表的最佳方法是什么?

4

1 回答 1

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

免责声明:部分/所有这些查询可能不起作用:)

编辑:他们确实有效!这是一个 SQL 小提琴,展示了它们的实际应用

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

于 2012-07-28T00:43:01.197 回答