![](/img/trans.png)
[英]SQL: Update GROUP BY to include a value based on max value of another column
[英]Max value of a column based on another max value.SQL
我想要基於最大加載數的加載數的最大值和加載序列號的最大值。
所以說我有這個:
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 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))}。
而且我僅獲得最大load_no而不是最大load_seq_no。
你可以嘗試如下
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)
)
可以滿足您的需求嗎?
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.