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

求一SQL语句,关于分组显示的,多谢

2012-01-22 
求一SQL语句,关于分组显示的,谢谢!有以下数据telqy12344gl15468gl46447lg45647lg78767xa31234xa现在想要取

求一SQL语句,关于分组显示的,谢谢!
有以下数据
tel           qy
12344       gl
15468       gl
46447       lg
45647       lg
78767       xa
31234       xa
现在想要取出qy相同的号码的一半(不要求是上一半还是下一半),最终的显示结果类似于下表
tel           qy
15468       gl
45647       lg
78767       xa

请各位高手帮忙,谢谢!


[解决办法]
create table #t
(tel varchar(10), qy varchar(10))
insert into #t
select '12344 ' , 'gl ' union all
select '15468 ' , 'gl ' union all
select '45660 ' , 'gl ' union all
select '85232 ' , 'gl ' union all
select '46447 ' , 'lg ' union all
select '45647 ' , 'lg ' union all
select '78767 ' , 'xa ' union all
select '31234 ' , 'xa '


select * from #t a
where (select count(1) from #t where qy=a.qy and tel> a.tel) <(select count(1)from #t where qy=a.qy)/2


tel qy
---------- ----------
45660 gl
85232 gl
46447 lg
78767 xa

(4 row(s) affected)


這樣才可以顯示每一組中數據的一半

热点排行
Bad Request.