如何从价格变化的 SQL 表中获取列表

Posted

技术标签:

【中文标题】如何从价格变化的 SQL 表中获取列表【英文标题】:How do I obtain a listing from an SQL table of price changes 【发布时间】:2020-09-30 23:49:17 【问题描述】:

我有一个包含发票详细数据的简单表格。例如,我需要运行一个返回价格变化的查询

【问题讨论】:

【参考方案1】:

这是一个间隙和孤岛问题,您可以在其中构建具有相同价格的“相邻”行组。

我认为这里最简单的方法是使用行号之间的差异来构建组:

select itemno, state, price, min(rcv_date) frst_date, max(rcv_date) last_date
from (
    select t.*, 
        row_number() over(partition by item_no, state order by rcv_date) rn1,
        row_number() over(partition by item_no, state, price order by rcv_date) rn2
    from mytable t
) t
group by item_no, state, price, rn1 - rn2

【讨论】:

以上是关于如何从价格变化的 SQL 表中获取列表的主要内容,如果未能解决你的问题,请参考以下文章

从 Firebird 数据库表中获取列名列表

如何从 SQL CE 中的表中构建逗号分隔列表?

如何从具有字典列表的表中查询,仅针对某些键 (BigQuery) SQL

react native - 如何从 sqlite 表中获取“狗”列表?

如何从消息表中获取对话列表?

如何使用 SQL 查询从另一个表中更新作为下拉列表的字段