sql server 数据库中记录名相同取最大值的问题
来源:百度知道 编辑:UC知道 时间:2024/06/01 14:15:14
标题中叙述的可能不正确。
我有这样一个表(magazine):
id magazinename totalNO
1 青春之舞 2
2 青春之舞 3
3 青春之舞 5
4 读者 3
5 读者 2
6 爱人 5
7 生命力量 3
8 品味人生 9
我要magazinename中有重复的记录取totalNO中最大的那个,magazinename没有相同记录的就取那一条就行
例如 上面的结果应该是
id magazinename totalNO
3 青春之舞 5
4 读者 3
6 爱人 5
7 生命力量 3
8 品味人生 9
select magazinename, max(totalNO) from magazine group by magazinename
这样写得不到ID
select * from magazine where (magazinename,totalNO) in (select magazinename, max(totalNO) from magazine group by magazinename)
这样写又有错误,那位高手帮忙解决一下,我初学
问题解决!谢谢了3楼了 但4楼更接近我的答案 所以。。。
我有这样一个表(magazine):
id magazinename totalNO
1 青春之舞 2
2 青春之舞 3
3 青春之舞 5
4 读者 3
5 读者 2
6 爱人 5
7 生命力量 3
8 品味人生 9
我要magazinename中有重复的记录取totalNO中最大的那个,magazinename没有相同记录的就取那一条就行
例如 上面的结果应该是
id magazinename totalNO
3 青春之舞 5
4 读者 3
6 爱人 5
7 生命力量 3
8 品味人生 9
select magazinename, max(totalNO) from magazine group by magazinename
这样写得不到ID
select * from magazine where (magazinename,totalNO) in (select magazinename, max(totalNO) from magazine group by magazinename)
这样写又有错误,那位高手帮忙解决一下,我初学
问题解决!谢谢了3楼了 但4楼更接近我的答案 所以。。。
set rs=server.CreateObject (\"ADODB.Recordset\")
rs.Open \"select max(totalNO) as ABC,id,magazinename from magazine group by magazinename having count(magazinename)>=1\",conn
结果输出时用
用:
rs(\"ID\") rs(\"magazinename\") rs(\"ABC\")
应该是可以的!
为什么 会出现斜杠 我打的时候没有 ! 晕
if object_id('pubs..tb') is not null
drop table tb
go
create table tb
(
name varchar(10),
score int
)
insert into tb(name,score) values('青春之舞',2)
insert into tb(name,score) values('青春之舞',3)
insert into tb(name,score) values('青春之舞',5)
insert into tb(name,score) values('读者',3)
insert into tb(name,score) values('读者',2 )
insert into tb(name,score) values('爱人',5 )
insert into tb(name,score) values('生命力量',3 )
insert into tb(name,score