34,588
社区成员
发帖
与我相关
我的任务
分享
--这样?
----------------------------------------------------------------
-- Author :fredrickhu(小F,向高手学习)
-- Date :2010-01-23 21:40:28
-- Version:
-- Microsoft SQL Server 2005 - 9.00.4035.00 (Intel X86)
-- Nov 24 2008 13:01:59
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Developer Edition on Windows NT 5.1 (Build 2600: Service Pack 3)
--
----------------------------------------------------------------
--> 测试数据:[tb]
if object_id('[tb]') is not null drop table [tb]
go
create table [tb]([id] int,[userid] varchar(3),[aMonth] int,[aNum] int,[invoice] varchar(8),[aDate] datetime)
insert [tb]
select 1,'abc',9,200,'No.11111','2009-9-12' union all
select 2,'www',10,900,'No.12222','2009-10-8' union all
select 3,'abc',10,800,'No.11111','2009-9-12' union all
select 3,'abc',12,1100,'No.13333','2009-12-12'
--------------开始查询--------------------------
select
userid,sum(anum) as anum,adate,invoice
from
tb
where
userid='abc'
group by
userid,adate,invoice
having count(1)>1
----------------结果----------------------------
/* userid anum adate invoice
------ ----------- ----------------------- --------
abc 1000 2009-09-12 00:00:00.000 No.11111
(1 行受影响)
*/
select userid,sum(aNum),invoice,aDate
from 表
group by userid,invoice,aDate
select
userid,sum(anum) as anum,adate,invoice
from
tb
where
userid='abc'
group by
userid,adate,invoice