请教个sql问题?

guoke1 2009-03-30 11:27:49
姓名 编号 日期 次数
李四 001 2003
李四 001 2005
李四 001 2006
李四 001 2007
王五 002 2003
王五 002 2005
刘六 003 2007

相同姓名、编号的人把日期先后把次数字段写上。
比如:

姓名 编号 日期 次数
李四 001 2003 1
李四 001 2005 2
李四 001 2006 3
李四 001 2007 4
王五 002 2003 1
王五 002 2005 2
刘六 003 2007 1


谢谢
...全文
113 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ABNORMAL1982 2009-03-30
  • 打赏
  • 举报
回复
select 姓名 , 编号 , 日期 , row_number() over(partition by 姓名 order by 日期) 次数 from Table order by 姓名,日期
yangqidong 2009-03-30
  • 打赏
  • 举报
回复
定义表
create #temp
(
姓名 varchar(20),
次数 int --保存以编的 最大号
)

update的时候,把表和temp连接
SealedLove 2009-03-30
  • 打赏
  • 举报
回复

select 姓名, 编号, 日期, row_number() over(partition by 姓名 order by 姓名,日期) 次数 from Table
select a.姓名, a.编号, a.日期, (select count(*) from Table b where a.姓名 = b.姓名 and b.日期 <= a.日期 ) 次数 from Table a
mykelly6 2009-03-30
  • 打赏
  • 举报
回复
增加数据的时候就把次数算出来写在数据库里面怎么样?
wuyq11 2009-03-30
  • 打赏
  • 举报
回复
select A.*,(select count(*) from B where B.name=A.name and B.date <=A.date) from A
jacklee_008 2009-03-30
  • 打赏
  • 举报
回复
dd
xiaoqhuang 2009-03-30
  • 打赏
  • 举报
回复
select name,no,date,(select count(*) from tb b where b.name=a.name and b.date<=a.date) from tb a

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧