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 - Fatal编程技术网

特定日期的最大订单的SQL查询是什么

特定日期的最大订单的SQL查询是什么,sql,oracle,Sql,Oracle,我在“日期”列下有很多日期,在另一列中还有该日期的订单数,我需要最新的日期和最大订单数 为了让我自己更清楚,我需要最长的日期,但只有具有最大采购订单的日期,或者换句话说,采购订单和日期的组合结果应该是最长的日期 select date, max(orders) from table_name group by date 试试这样的 select * from (select * from table order by orders desc, date desc) where rownum =

我在“日期”列下有很多日期,在另一列中还有该日期的订单数,我需要最新的日期和最大订单数


为了让我自己更清楚,我需要最长的日期,但只有具有最大采购订单的日期,或者换句话说,采购订单和日期的组合结果应该是最长的日期

select date, max(orders)
from table_name
group by date

试试这样的

select * from (select * from table order by orders desc, date desc) where rownum = 1;

您需要获取订单最大的行,然后获取日期最大的行

 select max(dates) max_date 
  from (select dates, 
               dense_rank() over(order by orders desc) dr
          from table_name)
 where dr = 1;
测试:

 with table_name(dates, orders) as (
 select '12-FEB-2014', 5 from dual union all
 select '11-FEB-2014', 5 from dual union all
 select '14-FEB-2014', 4 from dual union all
 select '10-FEB-2014', 3 from dual)
 --
 --End of data prep
 --
 select max(dates) max_date 
  from (select dates, 
               dense_rank() over(order by orders desc) dr
          from table_name)
 where dr = 1;
输出

max_date 
--------
12-FEB-2014
选择前1个日期 从表\u名称
order by date desc

发布您尝试过但未成功的SQL。
需要最长日期
表示?最长日期表示一周甚至一年内的任何最晚日期,但该日期的订单最多。使用max(date)将生成最新日期,但可能不是最高订单。发布一些示例数据和查询的预期结果。它应该是
order by orders desc,date desc
。不是吗?哦,我忘了。我还添加了带有日期的desc。我不知道为什么有人给出了负数,但似乎接近解决方案。我从您的问题中怀疑的是,您希望从整个表中找到订单值最大的日期,然后从该列表中找到最大日期。如果是这样的话,那么这必须适用于您的表。这在Oracle中无效,从12c开始Oracle有限制但没有上限。