如何根据WO、AssortSLNo、TL列获取Unique SecID行 表
SecID WONo AssortSLNo TL
11 46 1 35976
12 46 1 34593
9 46 3 14639
23 46 1 12761
87 46 3 34738
74 46 2 30575
2 46 1 29952
67 46 2 8993
结果
SecID WONo AssortSLNo TL
11 46 1 35976 Higest Value
74 46 2 30575
87 46 3 34738
-- Create table
CREATE TABLE YourTableName (
SecID INT,
WONo INT,
AssortSLNo INT,
TL INT
);
-- Insert statements
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (11, 46, 1, 35976);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (12, 46, 1, 34593);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (9, 46, 3, 14639);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (23, 46, 1, 12761);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (87, 46, 3, 34738);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (74, 46, 2, 30575);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (2, 46, 1, 29952);
INSERT INTO YourTableName (SecID, WONo, AssortSLNo, TL) VALUES (67, 46, 2, 8993);
8 rows affected
with cte as
(
select SecID,WONo,AssortSLNo,TL,row_number()over (partition by assortslno order by tl desc)rn
from YourTableName
)
select SecID,WONo,AssortSLNo,TL from cte where rn=1
SecID | WO否 | 品种SL无 | TL |
---|---|---|---|
11 | 46 | 1 | 35976 |
74 | 46 | 2 | 30575 |
87 | 46 | 3 | 34738 |