计算老用户数

堕落的唐僧 2014-04-14 02:05:58
比方说有个表,
ID 用户名 老用户数
1 aa
2 bb
3 aa 1
4 cc
5 aa
6 bb 2
7 cc 3

怎么来统计这个老用户数量呢?
...全文
90 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
堕落的唐僧 2014-04-14
  • 打赏
  • 举报
回复
老用户数的定义不太明确,先谢谢2位了
發糞塗牆 2014-04-14
  • 打赏
  • 举报
回复
你的例子是不是有点问题?
----------------------------------------------------------------
-- Author  :DBA_HuangZJ(发粪涂墙)
-- Date    :2014-04-14 14:10:56
-- Version:
--      Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64) 
--	Apr  2 2010 15:48:46 
--	Copyright (c) Microsoft Corporation
--	Enterprise Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)
--
----------------------------------------------------------------
--> 测试数据[huang]
if object_id('[huang]') is not null drop table [huang]
go 
create table [huang]([ID] int,[用户名] nvarchar(4))
insert [huang]
select 1,'aa' union all
select 2,'bb' union all
select 3,'aa' union all
select 4,'cc' union all
select 5,'aa' union all
select 6,'bb' union all
select 7,'cc'
--------------生成数据--------------------------

select * ,(SELECT COUNT([用户名]) FROM huang WHERE huang.[用户名]=a.[用户名] AND huang.id<a.id)老用户数
from [huang] A
----------------结果----------------------------
/* 
ID          用户名  老用户数
----------- ---- -----------
1           aa   0
2           bb   0
3           aa   1
4           cc   0
5           aa   2
6           bb   1
7           cc   1
*/
yoan2014 2014-04-14
  • 打赏
  • 举报
回复
是要将所有的老用户数加总起来吗? 那些没有数值的是NULL吗?如果是的话直接 select sum(isnull(老用户数, 0 )) from 表

34,588

社区成员

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

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