【发布时间】:2016-03-30 10:08:43
【问题描述】:
我已经为 SQL 查询争取了很多天来获取表的最新条目。
这是关于测量的。因此,您的个人资料有表 1 (S_QOS_DATA),而混乱结果则有表 2 (RN_QOS_DATA)。
现在我想要一个查询来从每个 Profile 中获取最新的测量值及其值。
我已经尝试了很多东西。
last() 函数在 MS SQL 中不可用,所以我必须使用last_value,但我遇到了很多问题。
SELECT rn.table_id, d.robot, d.target, max(rn.sampletime) as "Letzte Messung",
last_value(rn.sampletime) over (PARTITION by rn.table_id order by rn.sampletime DESC )
FROM RN_QOS_DATA_0012 as rn,
S_QOS_DATA as d
WHERE d.table_id = rn.table_id
AND target not LIKE 'QS_%'
AND target not LIKE 'TEST_%'
AND target not LIKE 'ENTW_%'
AND target not LIKE '%Ctrl%'
AND target not LIKE '%Arbeitsplatzaufbau%'
AND target not LIKE 'RT_%'
--and rn.samplevalue is not NULL
AND target LIKE '%gesamt%'
group by d.robot, d.target, rn.table_id, rn.sampletime
order by max(rn.sampletime)
有人可以帮帮我吗?!
S_QOS_DATA:
table_id 4 int 身份
ci_metric_id 12 varchar
qos_def_id 4 整数
创建了 93 个小日期时间
校验和 12 varchar
qos 12 varchar
来源 12 nvarchar
目标 12 nvarchar
主机 12 nvarchar
起源 12 nvarchar
机器人 12 nvarchar
探测 12 varchar
r_table 12 varchar
h_table 12 varchar
v_table 12 varchar
采样时间 93 日期时间
样本值 2 数值
samplemax 2 个数字
nim_origin 12 nvarchar
修饰符 12 varchar
采样率 2 数值
RN_QOS_DATA_0012:
table_id 4 整数
采样时间 93 日期时间
样本值 2 数值
samplestdev 2 数字
采样率 2 数字
tz_offset 4 int
【问题讨论】:
-
请以
declare @RN_QOS_DATA_0012 table ( Column1 int primary key not null, Column2 nvarchar(10), ColumnX datetime2 not null .... )然后insert into @RN_QOS_DATA_0012 (Column1, Column2, ColumnX) values (0...的形式提供一些示例数据 -
要获得准确的答案,您需要提供两个表的架构、这些表中的示例数据以及您希望从查询中获得的示例
标签: sql sql-server