这种复杂的SQL语句怎么写?
原始表格
单号 日期 金额
1 2013-1-1 5000
2 2013-1-1 100
3 2013-1-10 400
4 2013-1-11 500
5 2013-1-11 5500
6 2013-1-12 5500
现在需要显示的效果是:
日期 金额 当日批次
2013-1-1 5000 1
2013-1-1 100 2
2013-1-10 400 1
2013-1-11 500 1
2013-1-11 5500 2
2013-1-12 5500 1
------解决方案--------------------select *, 当日批次 = row_number()over(partition by 日期 order by 单号) from tb
------解决方案--------------------select * 当日批次 = (select count(1) from tb where 日期=t.日期 and 单号<=t.单号) from tb t