Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
基于另一个最大值的列的最大值。SQL_Sql_Oracle_Max - Fatal编程技术网

基于另一个最大值的列的最大值。SQL

基于另一个最大值的列的最大值。SQL,sql,oracle,max,Sql,Oracle,Max,我想要加载编号的最大值和基于最大加载编号的加载序列号的最大值 假设我有这个: id | load_no | load_seq_no | ----|---------|--------------| 1 | 200 | 1 | ----|---------|--------------| 2 | 200 | 2 | ----|---------|--------------| 3 | 200 | 3

我想要加载编号的最大值和基于最大加载编号的加载序列号的最大值

假设我有这个:

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        |
----|---------|--------------|
我想在完全连接后得到这些结果,我的代码的简化版本是

{选择coalescetable1.id,table2.id作为id ,maxtable1.load_no按table1.id覆盖分区 ,表1.装载顺序编号 ,表2.装载顺序编号 来自表1 table1.id=table2.id上的完全联接table2 式中,表1.1加载编号= 选择maxtable1.load\u no 来自表1 或表2.load_no= 选择maxtable2.load\u no 来自表2 和表1.load_SEQU_no= 选择maxtable1.load_seq_no 来自表1 或table2.load_seq_no=选择maxtable2.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)
                      )
你可以试试下面的方法

  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

这能满足你的需要吗

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

您尝试了什么,遇到了哪些不希望出现的结果或错误?请勿在注释中发布代码。使用尝试的查询来编辑您的帖子。请参阅文章下面的链接。您尝试了什么,遇到了哪些不希望出现的结果或错误?请勿在注释中发布代码。使用尝试的查询来编辑您的帖子。请参阅下面的链接。maxload\u no=300和maxload\u seq\u no=3。这不包括他想要的,就这样谢谢你!最大负载编号=300,最大负载编号=3。这不包括他想要的,就这样谢谢你!您需要删除上次加入中不必要的和。不,很遗憾,我有0个条目。@sia有我输入错误,您能再试一次吗?您需要删除上次加入中不必要的和。不,很遗憾,我有0个条目。@sia有我输入错误,您能再试一次吗?