仅插入具有相同ID的最高值

时间:2018-03-02 11:31:30

标签: sql sql-server

我在mssql数据库中插入一个文本文件,这是有效的。但是,如果我有2行具有相同的[bar_id][time][Q],我需要在表dQ / dt中插入最高的一行,我无法找到解决方案。

非常感谢帮助。

这是表格

bar_ID      time    dQ/dt   Q

barcode1    0:02:44 125,24  4,57 -- this one needs to insert

barcode1    0:02:44 125,11  4,57 -- this one must be deleted or skipped

1 个答案:

答案 0 :(得分:2)

您可以将所有数据导入表格,然后使用查询过滤掉重复数据,如下所示:

select bar_ID, time, max([dQ/dt]) as [dQ/dt], Q from yourtable1
group by bar_ID, time, Q

如果需要,您可以将重复的免费数据传输到另一个表格,如下所示:

select bar_ID, time, max([dQ/dt]) as [dQ/dt], Q into yourtable2 from yourtable1
group by bar_ID, time, Q

如果您已有目标表,则可以使用此查询

insert into yourTargetTable(bar_ID, time, [dQ/dt], Q)
select bar_ID, time, max([dQ/dt]), Q from yourtable1
group by bar_ID, time, Q
相关问题