我应该如何根据项目类型分配序列号(等级(?))?
Posted
技术标签:
【中文标题】我应该如何根据项目类型分配序列号(等级(?))?【英文标题】:How should I assign a sequence number (rank (?)) based on item type? 【发布时间】:2021-02-26 04:17:50 【问题描述】:我正在尝试分析每个项目使用的项目序列及其平均持续时间。 为了给你一个例子和我的预期输出,请参考下表。
正如您在表格中看到的,我想在金额列旁边分配一个项目序列号(红色文本)。 对于这个任务,我只关心项目的顺序。 我对使用lead() 函数或row number() over (partition by ...) 代码有一个模糊的理解。
但是,到目前为止我尝试过的所有代码都没有提供预期的结果。
请帮忙, 提前谢谢你。
【问题讨论】:
“item 的序列”是通过在item
列上排序定义的吗?
非常感谢。这是我第一次使用堆栈溢出。是的,项目的顺序是通过对项目进行排序来定义的。
【参考方案1】:
据我所知,您可以通过 dense_rank()
实现此目的
select id,
start_date,
end_date,
item,
amount,
dense_rank() over (order by item) as item_sequence
from the_table
order by item;
【讨论】:
非常感谢!!您的查询对我的任务有效!以上是关于我应该如何根据项目类型分配序列号(等级(?))?的主要内容,如果未能解决你的问题,请参考以下文章