怎么样聚合后取出特定的列?
if exists (select * from dbo.sysobjects where id = object_id(N '[dbo].[Fee] ') and OBJECTPROPERTY(id, N 'IsUserTable ') = 1)
drop table [dbo].[Fee]
GO
CREATE TABLE [dbo].[Fee] (
[FeeID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [int] NULL ,
[FeeActionID] [int] NULL ,
[Amount] [money] NULL ,
[Balance] [money] NULL ,
[Remarks] [nvarchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[AddTime] [datetime] NULL ,
[PostUser] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
delete from Fee
insert into Fee values(222,2,30,30, ' ',getdate(), 'test ')
insert into Fee values(222,2,20,50, ' ',getdate(), 'test ')
insert into Fee values(221,2,30,30, ' ',getdate(), 'test ')
insert into Fee values(221,2,10,20, ' ',getdate(), 'test ')
insert into Fee values(220,2,50,50, ' ',getdate(), 'test ')
insert into Fee values(220,2,20,30, ' ',getdate(), 'test ')
insert into Fee values(220,2,30,0, ' ',getdate(), 'test ')
我想取出所有最近的余额不为0的用户的ID,就是不知道怎么写SQL语句,请大家帮帮我哈.其中字段[Balance]为余额数
------解决方案--------------------CREATE TABLE [dbo].[Fee] (
[FeeID] [int] IDENTITY (1, 1) NOT NULL ,
[UserID] [int] NULL ,
[FeeActionID] [int] NULL ,
[Amount] [money] NULL ,
[Balance] [money] NULL ,
[Remarks] [nvarchar] (200) COLLATE Chinese_PRC_CI_AS NULL ,
[AddTime] [datetime] NULL ,
[PostUser] [nvarchar] (20) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO
delete from Fee
insert into Fee values(222,2,30,30, ' ',dateadd(Day,-2,getdate()), 'test ')
insert into Fee values(222,2,20,50, ' ',dateadd(Day,-1,getdate()), 'test ')
insert into Fee values(221,2,30,30, ' ',dateadd(Day,-2,getdate()), 'test ')
insert into Fee values(221,2,10,20, ' ',dateadd(Day,-1,getdate()), 'test ')
insert into Fee values(220,2,50,50, ' ',dateadd(Day,-3,getdate()), 'test ')
insert into Fee values(220,2,20,30, ' ',dateadd(Day,-2,getdate()), 'test ')
insert into Fee values(220,2,30,0, ' ',dateadd(Day,-1,getdate()), 'test ')
select * from fee as a,(
select userid,max([AddTime]) as b_AddTime from Fee group by userid) as b
where a.AddTime=b.b_AddTime and balance > 0 and a.userid = b.userid
----------------------------------
FeeID UserID FeeActionID Amount Balance Remarks AddTime PostUser userid b_AddTime
----------- ----------- ----------- --------------------- --------------------- -------------------------------------------------------------------------------------------- ----------------------- -------------------- ----------- -----------------------
9 222 2 20.00 50.00