簡體   English   中英

SQL基於另一個最大值的列的最大值

[英]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而不是最大lo​​ad_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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM