早上好,
我在如何布置我的数据库方面遇到了一些问题,希望得到一些指导。我有几个表(降雨量数据),每个表都包含以下列:
Date (DateTime), Value_of_rainfall (Float)
Run Code Online (Sandbox Code Playgroud)
这些表中的每一个都用于特定位置。
有人建议我创建另一个包含以下列的表:
LocationID (tinyInt), LocationName(char(6))
Run Code Online (Sandbox Code Playgroud)
并在第一个表中插入一个名为 LocationID(tinyInt) 的新列。
现在我的困惑是关于我存储在降雨数据数据表中的数据。建议将来自每个位置的所有数据包含在一个数据表中。我希望对信息进行的统计分析非常(就我迄今为止所设想的)位置特定,并且不需要一次查询多个位置。一个位置几个月的数据 = 近 300 万行,我希望对数据进行长时间运行的计算。那么数据仓库会更合适吗?如果是这样,有人可以给我一些关于我应该如何布置它的指示吗?
谢谢你的时间。
注意:我使用的是 Sql Server 2008
sql-server-2008 data-warehouse database-design relational-theory
我正在尝试计算特定日期/时间之间当前字段和前一个字段之间差异的平均值。目前我有一个显示这个的查询,但我不确定我现在如何过滤它,以便我可以获得特定日期/时间之间“差异”列的平均值。(提前为我的 sql 技能或缺乏道歉。)
SELECT
S.Pair,
S.Date,
S.Time,
S.Bid,
S.Time,
ABS(S.Bid - T.Bid) as 'Diff'
FROM
dbo.Data as S
CROSS APPLY
(
SELECT TOP 1 T.Bid
FROM
dbo.Data as T
WHERE
T.Id > S.Id
) as T
Run Code Online (Sandbox Code Playgroud)
任何指针将不胜感激。
编辑: