导航
  • 主页
  • 基础类
  • 应用实例
  • 新技术前沿

这一条SQL怎么写?

ItOldHorse 2003-12-10 11:28:44

有如下这个表tabel1

dwbm sbkj sbhh

A0126 12 1011
A0126 50 1012
A0126 70 1010


如何生成这样的一个表table2

dwbm sbkj sbhh

A0126 70 1013

要求按dwbm进行汇总生成表 sbkj 要求取最大值,sbhh要求取sbkj取最大值时的sbhh


我是这样一来写的
select max(dwbm) as dwbm,max(sbkj) as sbkj ... from table1
...此处我不知道怎么写啦?
...全文
46 点赞 收藏 6
写回复
6 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dlpseeyou 2003-12-10
如果sbhh 是int整的
select dwbm dwbm ,max(sbkj) sbkj,sbhh=(select max(sbhh)+1 from table1 ) from table1 group by dwbm
回复
Doncy 2003-12-10
select * from table1 where sbkj = ( select max(sbkj) from table1)
回复
如果表已经存在,就用:

insert into table2
select * from table1 a
where sbkj=(select max(sbkj) from table1 where dwbm=a.dwbm)
回复
select * into table2
from table1 a
where sbkj=(select max(sbkj) from table1 where dwbm=a.dwbm)
回复
yangq4000 2003-12-10
select dwbm, max(sbkj) as [sbkj],case when sbkj=max(sbkj) then sbhh else null end)
from tablename group by dwbm
回复
jacklinchen 2003-12-10
insert into table2(dwbm,sbkj,sbhh) (select dwbm,max(sbkj),max(sbhh)+1 from table1 group by dwbm)
回复
发动态
发帖子
MS-SQL Server
创建于2007-09-28

3.2w+

社区成员

MS-SQL Server相关内容讨论专区
申请成为版主
社区公告
暂无公告