我正在使用sql server 2000 我有一张如下表:
lr_no seq len
8402606 003 48
8410184 002 50
8410184 003 30
8411592 002 33
8415732 005 12
8416530 002 24
8415732 004 27
其中8410184& 841573是重复的。
我想过滤表格,以便在重复lr_no的情况下,然后根据max(len)选择行。
最终输出应为
lr_no seq len
8402606 003 48
8410184 002 50
8411592 002 33
8416530 002 24
8415732 004 27
任何人都可以帮忙吗?
答案 0 :(得分:0)
SELECT
lr_no, max(seq) as seq, max(len) as len
FROM
table
GROUP BY
lr_no
编辑
好的,重新开始:
SELECT
lr_no, seq, len
FROM
table t1
WHERE
not exists (
SELECT
1
FROM
table t2
WHERE
t1.lr_no = t2.lr_no and
t2.len < t1.len)
答案 1 :(得分:0)
SELECT t.lr_no, t.seq, t.len
FROM YourTable t
INNER JOIN (SELECT lr_no, MAX(len) AS MaxLen
FROM YourTable
GROUP BY lr_no) q
ON t.lr_no = q.lr_no
AND t.len = q.MaxLen