sql - 如何在 ingres/vectorwise 中制作 RANK() 或 ROW_NUMBER() ?发出sql代码
问题描述
我正在编写一个 sql 查询来获取给定日期不同商店的销售额。查询是针对 ingres/vectorwise 运行的。我想添加一个列排名,其中有商店与所有商店相比的销售额排名。
我的选择语句如下:
SELECT store_number, sum(sales) as sales
FROM stores_sales_indicators
WHERE day = '2019-07-24'
GROUP BY store_number
我从 sql-server 尝试了我熟悉的不同的东西,但都没有奏效。
解决方案
我认为这与您所描述的相似(此处不包括一天,但您会明白的):
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
推荐阅读
- python - 使用函数和 while 循环,我如何将许多票价插入列表形式。用户可以决定需要插入多少票价
- kubernetes - srimzi operator 0.20 kafka 'useServiceDnsDomain' 没有效果
- firebase - 如何根据查询参数路由到Vue路由器中的不同组件
- bit-manipulation - 基于解码 RLE(按位)函数对编码函数进行编程
- git - Jenkins 无法从远程存储库 BitBucket 读取
- python - discord.py 成员角色的 If Else 语句
- typescript - Typescript 条件分型奇怪的错误案例
- crystal-reports - 当内容从字段打印到屏幕时,垂直调整组标题以适应内容
- azure-devops - 在 Azure DevOps 发布管道阶段处理多个服务器
- excel - excel:错误1004。参考无效不知道为什么