首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

相同字段查询有关问题

2012-01-13 
相同字段查询问题说明一下表结构:hotclick这个是点击量,pm_id是歌曲编号是主键,b_id歌手编号,singer是歌手

相同字段查询问题
说明一下表结构:
hotclick这个是点击量,pm_id是歌曲编号是主键,b_id歌手编号,singer是歌手,name是歌名
hotclick   pm_id     b_id         singer     name  
142261董杰大城小爱
41331董杰回家
21341董杰无赖
31351董杰爱海滔滔
11941董杰春泥
4951董杰谁说喝醉就无所谓
1082730蒋舟鹧鸪飞
1012830蒋舟如果我再遇见你
163030蒋舟五月花园
227631樱桃五月来看花
522733龚琳娜孔雀飞来
035233龚琳娜五月来


我要的数据是这样子的:
singer这一列是唯一,然后再按hotclick这个最大的一条
hotclick   pm_id         b_id         singer           name  
1082730蒋舟鹧鸪飞
227631樱桃五月来看花
142261董杰大城小爱

急啊。。高手帮帮忙的呀!!



[解决办法]

----方法1:
select * from 表 as a where not exists(select 1 from 表 where singer=a.singer and hotclick > a.hotclick )
----方法2:
select * from 表 as a where hotclick = (select max(hotclick ) from 表 where singer = a.singer)
order by singer
----方法3:
select a.* from 表 as a inner join (select singer,max(hotclick ) as hotclick from 表 group by singer) as b
on b.singer= a.singer and a.hotclick = b.hotclick order by a.singer

热点排行