查找特定年份的最大销售额

时间:2015-06-08 23:49:44

标签: sql oracle select

我正在处理SQL查询并需要帮助。我正在使用Oracle数据库。

DAILY_SALES表保存每个商店和每个客户的每日销售额;它有以下4列:

  • STORE_NUMBER`
  • CUSTOMER_NUMBER
  • TRANSACTION_DATE
  • SALES_AMOUNT

以下SQL查询是否能够找出2013年销售额超过20000美元的所有商店?

Select * from DAILY_SALES where SALES_AMOUNT>20000 and TRANSACTION_DATE is in between (Jan1,2013 and Dec31,2013)

2 个答案:

答案 0 :(得分:1)

您的问题的简短回答:不。您的查询无效。

假设您的transaction_date列的类型为Date,则此查询应该执行您想要的操作:

select store_number, sum(sales_amount)
from daily_sales
where transaction_date >= to_date('2013-01-01', 'YYYY-MM-DD')
and transaction_date < to_date('2014-01-01', 'YYYY-MM-DD')
group by store_number
having sum(sales_amount) > 20000

答案 1 :(得分:0)

Select STORE_NUMBER, TRANSACTION_DATE, SALES_AMOUNT
from DAILY_SALES 
where transaction_date >= to_date('2013-01-01', 'YYYY-MM-DD')
  and transaction_date < to_date('2014-01-01', 'YYYY-MM-DD')
Group by STORE_NUMBER, TRANSACTION_DATE
having sum(sales_amount) > 20000;

您希望仅显示具有以下限制的这三列:

  • 交易年份是2013年(自2013年1月1日起至2013年1月1日) 2013年最后一天)。您可以按STORE_NUMBER和交易日期对结果进行分组。

我认为上面的代码对您有用。