如何根据两列组WONO、AssortSLNo & 基于总需求SecID获取记录

问题描述 投票:0回答:1

如何根据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    
sql sql-server sqlite
1个回答
0
投票
-- 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

小提琴

© www.soinside.com 2019 - 2024. All rights reserved.