我想要基于最大负载数的负载数的最大值和负载序列号的最大值。
所以说我有这个:
id | load_no | load_seq_no |
----|---------|--------------|
1 | 200 | 1 |
----|---------|--------------|
2 | 200 | 2 |
----|---------|--------------|
3 | 200 | 3 |
----|---------|--------------|
4 | 300 | 1 |
----|---------|--------------|
5 | 300 | 2 |
----|---------|--------------|
6 | 300 | 2 |
----|---------|--------------|
我要选择这个
id | load_no | load_seq_no |
----|---------|--------------|
5 | 300 | 2 |
----|---------|--------------|
6 | 300 | 2 |
----|---------|--------------|
我想在完全加入我的代码的简化版本后得到这些结果
{SELECT coalesce(table1.id,table2.id)AS ID ,max(table1.load_no)OVER(PARTITION BY table1.id) ,table1.load_seq_no ,table2.load_seq_no 从表1 FULL JOIN table2 ON(table1.id = table2.id) 在哪里table1.load_no = (选择最大(table1.load_no) 来自表1) 或table2.load_no = (选择最大(table2.load_no) 从表2) AND table1.load_seq_no = (选择最大(table1.load_seq_no) 来自表1) 或table2.load_seq_no =(SELECT max(table2.load_seq_no))}。
并且我仅获得最大load_no而不是最大load_seq_no。
答案 0 :(得分:2)
您可以尝试以下操作
select * from t
where load_no = (select max(load_no) from t)
and load_seq_no = (select max(load_seq_no) from t
where load_no =(select max(load_no) from t)
)
答案 1 :(得分:1)
这符合您的需求吗?
with x as(
select max(load_seq_no) as mlsn, max(load_no) as mln from tableName
where load_no = (select max(load_no) from tableName )
) select * from tableName
join x on load_seq_no = mlsn and load_no = mln