【发布时间】:2012-07-28 02:49:27
【问题描述】:
我需要从一个看起来像这样的表中提取时间序列
TimeStamp(时间戳)、Datapoint(浮点数)、Data_source(整数)
所以下面的查询会给我源 1 记录的所有数据。
SELECT *
FROM table
WHERE data_source = 1
现在,我该如何选择以使 data_source = 1 优先于其他来源? IE。我不想要双打,我总是想要一个最好来自源 1 的数据点,但如果不可用,请选择其他东西。
我使用子查询来计算每一行的 source=1 的数量。但这非常慢。必须有一种有效的方法来做到这一点?源 1 仅适用于大约 3% 的点。一个点可能有多个其他来源,但通常任何其他来源都可以。
我使用的是 ms sql 2008。所以 T-SQL 会更受欢迎,但我认为这个问题很普遍?
【问题讨论】:
-
什么是双重的?时间戳?数据点?未列出的内容?
标签: sql sql-server tsql time-series