当前位置: 代码迷 >> Sql Server >> 这种复杂的SQL语句如何写
  详细解决方案

这种复杂的SQL语句如何写

热度:74   发布时间:2016-04-24 23:24:09.0
这种复杂的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
  相关解决方案