SQL相同记录的统计

earth1998 2006-07-26 02:50:04
数据表中有个字段:客户,我要统计某个具体客户的记录条数(记录中有其他字段),要求一个字段是具体客户出现次数的累加:

如:

***厂 1
***厂 2
***厂 3
.
.
.
***厂 100
.
.
...全文
196 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
earth1998 2006-07-26
  • 打赏
  • 举报
回复
多谢解答!
marco08 2006-07-26
  • 打赏
  • 举报
回复
学习...
paoluo 2006-07-26
  • 打赏
  • 举报
回复

Create Table TEST(客户 Nvarchar(100))
Insert TEST Select N'A厂'
Union All Select N'A厂'
Union All Select N'A厂'
Union All Select N'B厂'
Union All Select N'B厂'
GO
Select ID=Identity(Int,1,1),* Into #T From TEST
Select 客户,(Select Count(*) From #T Where 客户=A.客户 And ID<=A.ID) As 出现次数 From #T A
Drop Table #T
GO
Drop Table TEST
--Result
/*
客户 出现次数
A厂 1
A厂 2
A厂 3
B厂 1
B厂 2
*/
earth1998 2006-07-26
  • 打赏
  • 举报
回复
是相同的客户:

比如:: A公司 1 ...A公司出现的第1条记录
A公司 2 ...A公司出现的第2条记录
.
A公司 100 ...A公司出现的第100条记录
.
.
leeboyan 2006-07-26
  • 打赏
  • 举报
回复

select id=identity(int,1,1),* into temptb from t where 客户='xxx'
select * from temptb

最后不用了,删除临时表
leeboyan 2006-07-26
  • 打赏
  • 举报
回复
哦,刚看明白

select id=identity(int,1,1),* into temptb from t where 客户='xxx'
点点星灯 2006-07-26
  • 打赏
  • 举报
回复
--参考
declare @tab table(日期 datetime,值 int)

insert @tab values('2006-06-01',35)
insert @tab values('2006-07-01',92)
insert @tab values('2006-08-01',10)
insert @tab values('2006-09-01',11)


select a.*,[值1]=(select sum(值) from @tab where 日期<=a.日期) from @tab a
leeboyan 2006-07-26
  • 打赏
  • 举报
回复
某个客户:
select count(1)as nub from t where 客户='xxx'
所有客户:
select 客户,count(1) as nub from t group by 客户 order by count(1)desc

34,587

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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