我正在编写一个sql查询来获取不同商店在给定日期的销售额。该查询是针对ingres/vectorwise运行的。我想添加一个列排名,其中有商店相对于所有商店的销售额的排名。
我的select语句如下:
SELECT store_number, sum(sales) as sales
FROM stores_sales_indicators
WHERE day = '2019-07-24'
GROUP BY store_number我尝试了sql-server中我熟悉的不同方法,但都不起作用。
发布于 2019-07-26 20:35:29
我认为这类似于你所描述的(这里没有包括一天,但你会明白的):
declare global temporary table session.stores_sales_indicators
(
store_number integer not null,
sales integer not null
)
on commit preserve rows with norecovery, structure=x100;
insert into session.stores_sales_indicators
values(1,100),(1,200),(2,500),(2,50),(3,50),(3,300);
select
store_number,
sum(sales) as sales,
rank() over (order by sum(sales) desc) as rank
from session.stores_sales_indicators
group by store_number;另请参阅精美手册,这里有一个指向分析函数部分的链接:https://docs.actian.com/vector/5.1/index.html#page/SQLLang%2FAnalytical_Functions.htm
https://stackoverflow.com/questions/57204400
复制相似问题