[英]Max value of a column based on another max value.SQL
I want the max value of the load number and the max value of the load sequence number based on the max load number. 我想要基于最大加载数的加载数的最大值和加载序列号的最大值。
So let's say I have this: 所以说我有这个:
id | load_no | load_seq_no |
----|---------|--------------|
1 | 200 | 1 |
----|---------|--------------|
2 | 200 | 2 |
----|---------|--------------|
3 | 200 | 3 |
----|---------|--------------|
4 | 300 | 1 |
----|---------|--------------|
5 | 300 | 2 |
----|---------|--------------|
6 | 300 | 2 |
----|---------|--------------|
and I want to select this 我要选择这个
id | load_no | load_seq_no |
----|---------|--------------|
5 | 300 | 2 |
----|---------|--------------|
6 | 300 | 2 |
----|---------|--------------|
I want to get those results after full join a simplified version of my code is 我想在完全加入我的代码的简化版本后得到这些结果
{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 FROM table1 FULL JOIN table2 ON (table1.id = table2.id) WHERE table1.load_no = (SELECT max(table1.load_no) FROM table1) OR table2.load_no = (SELECT max(table2.load_no) FROM table2) AND table1.load_seq_no = (SELECT max(table1.load_seq_no) FROM table1) OR table2.load_seq_no = (SELECT max(table2.load_seq_no))}. {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 FROM table1 FULL JOIN table2 ON(table1.id = table2。 id)WHERE table1.load_no =(从table1选择SELECT max(table1.load_no))或table2.load_no =(从table2选择SELECT max(table2.load_no))AND table1.load_seq_no =(从table1选择SELECT max(table1.load_seq_no))或table2.load_seq_no =(SELECT max(table2.load_seq_no))}。
AND I ONLY get the max load_no NOT the max load_seq_no. 而且我仅获得最大load_no而不是最大load_seq_no。
you can try like below 你可以尝试如下
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)
)
Could this fit your needs? 可以满足您的需求吗?
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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.