这个 Sql可以用 DISTINCT实现吗

likesome 2004-07-28 08:26:16
表1 字段n1,n2 n3,记录如下

a1 k1 100
a1 k1 200
a1 k2 100
b1 k1 100
b1 k1 200
b1 k2 200

sql n1,n2 sum(n3) as n2 from 表1 group by n1,n2 order by n1,n2
结果如下

a1 k1 300
a1 k2 100
b1 k1 300
b1 k1 200

我现要求去掉a1的重复行,即结果如下

a1 k1 300
k2 100
b1 k1 300
k1 200

如果sql不能实现,在activereport中能实现码,怎样实现




...全文
199 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
pisces007 2004-07-28
  • 打赏
  • 举报
回复
create table test(n1 varchar(20),n2 varchar(20),n3 int)
go
insert test
select 'a1','k1',100
union all select 'a1','k1',200
union all select 'a1','k2',100
union all select 'b1','k1',100
union all select 'b1','k1',200
union all select 'b1','k2',200

select identity(int,1,1) as id,n1,n2 ,sum(n3) as n3
into #a from test group by n1,n2 order by n1,n2
select (case when L.id=R.id then L.n1 else '' end) as n1,L.n2,L.n3
from #a L left join (select min(id) as id from #a group by n1) R on L.id=R.id

drop table #a
drop table test

/*
测试结果
a1 k1 300
k2 100
b1 k1 300
k2 200
*/
friendliu 2004-07-28
  • 打赏
  • 举报
回复
select n1,n2,min(n3) from tb group by n1,n2
likesome 2004-07-28
  • 打赏
  • 举报
回复
上面有点写错

表1 字段n1,n2 n3,记录如下

a1 k1 100
a1 k1 200
a1 k2 100
b1 k1 100
b1 k1 200
b1 k2 200

sql n1,n2 sum(n3) as n2 from 表1 group by n1,n2 order by n1,n2
结果如下

a1 k1 300
a1 k2 100
b1 k1 300
b1 k2 200

我现要求去掉n1的重复行,即结果如下

a1 k1 300
k2 100
b1 k1 300
k2 200

如果sql不能实现,在activereport中能实现码,怎样实现

34,838

社区成员

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

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