我正在处理SQL查询并需要帮助。我正在使用Oracle数据库。
DAILY_SALES
表保存每个商店和每个客户的每日销售额;它有以下4列:
以下SQL查询是否能够找出2013年销售额超过20000美元的所有商店?
Select * from DAILY_SALES where SALES_AMOUNT>20000 and TRANSACTION_DATE is in between (Jan1,2013 and Dec31,2013)
答案 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;
您希望仅显示具有以下限制的这三列:
我认为上面的代码对您有用。