T1
时间 姓名 性别
2012-01-01 A 男
2012-01-01 B 男
2012-01-01 C 男
2012-01-01 D 男
2012-01-02 E 男
2012-01-02 F 男
2012-01-03 G 男
2012-01-03 H 男
2012-01-04 I 男
结果
时间 姓名 性别 流水号
2012-01-01 A 男 1
2012-01-01 B 男 2
2012-01-01 C 男 3
2012-01-01 D 男 4
2012-01-02 E 男 1
2012-01-02 F 男 2
2012-01-03 G 男 1
2012-01-03 H 男 2
2012-01-04 I 男 1
根据时间按每天生成当天的流水号
------解决方案--------------------
--用姓名好像不太贴切,最好有id一类的有序的能标识的列替换到order by这里
select *,row_number() over(partition by 时间 order by 姓名)as 流水号 from T1
------解决方案--------------------
select *,
序号=(select count(*) from tb where 时间 = t.时间 and 姓名 <= t.姓名)
from tb t