首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

求每个相关ID的第一行数据,该怎么处理

2012-03-13 
求每个相关ID的第一行数据假如有一个表:IDUserIDsMoneyfillDate1AAA1002007-1-2517:00:002BBB1002007-1-25

求每个相关ID的第一行数据
假如有一个表:
ID       UserID     sMoney       fillDate
1           AAA           100         2007-1-25   17:00:00
2           BBB           100         2007-1-25   17:01:00
3           AAA           50           2007-1-25   18:00:00
4           CCC           50           2007-1-25   18:22:00
5           BBB           200         2007-1-25   20:00:00


ID是主键自动编号
UserID是用户编号
sMoney是用户充的钱
fillDate是充钱金额

想求出所有用户第一次充钱金额的总合




[解决办法]
create table T(ID int, UserID varchar(10), sMoney int, fillDate datetime)
insert T select 1, 'AAA ', 100, '2007-1-25 17:00:00 '
union all select 2, 'BBB ', 100, '2007-1-25 17:01:00 '
union all select 3, 'AAA ', 50, '2007-1-25 18:00:00 '
union all select 4, 'CCC ', 50, '2007-1-25 18:22:00 '
union all select 5, 'BBB ', 200, '2007-1-25 20:00:00 '


select sMoney=sum(sMoney) from T as tmp
where not exists(select 1 from T where UserID=tmp.UserID and ID <tmp.ID)

--result
sMoney
-----------
250

(1 row(s) affected)

热点排行