我有一张桌子。
prod, change, date
pr1, 'Yes', 2012-01-01
pr1, 'No' , 2012-02-01
pr1, 'No' , 2012-03-01
pr1, 'Yes', 2012-04-01
pr1 , '是', 2012-05-01
pr1, '否' , 2012-06-01
我正在尝试构建一个 qry 并使用 row_number() 函数来对行进行编号。只是我需要 row_number() 来重置每次更改列的值为 yes。然后 row_number() 计算必须从头开始。像这样
prod, change, date, row_number
pr1, 'Yes', 2012-01-01, 1
pr1, 'No' , 2012-02-01, 2
pr1, 'No' , 2012-03-01, 3
pr1, 'Yes ', 2012-04-01, 1
pr1, '是', 2012-05-01, 1
pr1, '否' , 2012-06-01, 2
... 等等
是否有可能只使用 SQL 来做类似的事情?我正在查看诸如 row_number() 之类的窗口函数(按日期排序,prd_prod,更改),但它不是那样工作的。还有其他选择吗?