ROW_NUMBER()基于日期

饭盒

我有以下数据:

test_date
2018-07-01
2018-07-02
...
2019-06-30
2019-07-01
2019-07-02
...
2020-06-30
2020-07-01

我想row_number每次增加一个值,right(test_date,5) = '07-01'以便最终结果如下所示:

test_date    row_num
2018-07-01         1
2018-07-02         1
...                1
2019-06-30         1
2019-07-01         2
2019-07-02         2
...                2
2020-06-30         2
2020-07-01         3

我试图做这样的事情:

, ROW_NUMBER() OVER (
    PARTITION BY CASE WHEN RIGHT(a.[test_date],5) = '07-01' THEN 1 ELSE 0 END
    ORDER BY a.[test_date]
) AS [test2]

但这对我来说没有用。

有什么建议?

戴尔·K

使用datepart来标识正确的日期,然后在每次更改时将1加到总和上(假设每个日期最多不会有1行)。

declare @Test table (test_date date);

insert into @Test (test_date)
values
('2018-07-01'),
('2018-07-02'),
('2019-06-30'),
('2019-07-01'),
('2019-07-02'),
('2020-06-30'),
('2020-07-01');

select *
  , sum(case when datepart(month,test_date) = 7 and datepart(day,test_date) = 1 then 1 else 0 end) over (order by test_date asc)
from @Test
order by test_date asc;

注意:如果像我上面所做的那样,将示例数据添加为DDL + DML,则可以使人们更轻松地进行测试。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

ROW_NUMBER()基于日期

来自分类Dev

使用日期索引优化ROW_NUMBER()

来自分类Dev

使用日期索引优化ROW_NUMBER()

来自分类Dev

如何仅基于ROW_NUMBER()更新行?

来自分类Dev

如何仅基于ROW_NUMBER()更新行?

来自分类Dev

PostgreSQL row_number不按日期排序

来自分类Dev

读取row_number

来自分类Dev

ROW_NUMBER 性能

来自分类Dev

具有基于滞后条件的Oracle SQL ROW_NUMBER()窗口

来自分类Dev

如何使用Scala基于Spark中的条件获取row_number()

来自分类Dev

ROW_NUMBER()作为基于实体的视图对象中的瞬时属性

来自分类Dev

交叉中的ROW_NUMBER应用基于existing子句生成“不正确”的值

来自分类Dev

SQL row_number() with conditions

来自分类Dev

Row_number() that depends on condition

来自分类Dev

PostgreSQL中的Row_number()

来自分类Dev

ROW_NUMBER(带参数)

来自分类Dev

ROW_NUMBER()SQL错误

来自分类Dev

访问 - row_number 函数?

来自分类Dev

而不是 ROW_NUMBER ORDER BY

来自分类Dev

Row_Number 和分区

来自分类Dev

Row_number 和 union

来自分类Dev

Microsoft Access查询,使用ROW_NUMBER的替代项作为重复日期

来自分类Dev

根据row_number过滤RDD

来自分类Dev

Row_Number()在联合查询中继续

来自分类Dev

黑斑羚中ROW_NUMBER()OVER

来自分类Dev

如何正确使用Row_Number()

来自分类Dev

在sqlalchemy中按row_number过滤

来自分类Dev

Row_Number在行号之间

来自分类Dev

选择row_number或伪造的身份