【问题标题】:Select values with duplicate max values sql选择具有重复最大值sql的值
【发布时间】:2014-01-30 22:24:34
【问题描述】:

我有一个由特定日期的日期和销售总额组成的表格。我希望能够查询该表并选择以下内容:最大销售额、与最大销售额相关的日期、所有销售额的总和以及表中的最小日期。另一个复杂因素是存在重复的最大值。我不在乎选择了哪个最大值,但我只想随机选择一个。这是给甲骨文的。

这是我尝试过的。它正在使用子查询。

Select sales,  date,  min(date),  sum(sales)  from table
    Where sales = (select distinct(max(sales)) from table) 

【问题讨论】:

  • 你试过什么?
  • 你使用的是什么 RDBMS?
  • 选择具有重复最大值 sql 的值,你可以试试这个来解决你的问题,我希望对你有帮助

标签: sql oracle max


【解决方案1】:
select
   max(sales),
   max(date_) keep (dense_rank first order by sales desc),
   sum(sales),
   min(date_)
from
   table_

另见This SQL Fiddle

【讨论】: