有以下数据
tel qy
12344 gl
15468 gl
46447 lg
45647 lg
78767 xa
31234 xa
现在想要取出qy相同的号码的一半(不要求是上一半还是下一半),最终的显示结果类似于下表
tel qy
15468 gl
45647 lg
78767 xa请各位高手帮忙,谢谢!
tel qy
12344 gl
15468 gl
46447 lg
45647 lg
78767 xa
31234 xa
现在想要取出qy相同的号码的一半(不要求是上一半还是下一半),最终的显示结果类似于下表
tel qy
15468 gl
45647 lg
78767 xa请各位高手帮忙,谢谢!
select * from t1 a where exists(select 1 from t1 where tel=a.tel and a.id>id)
在删掉 id列 就可以了啊 !!!
是对的 !!
不好意思刚次看错了 !!
就是每个qy的数据取出一半,不知道这样说明白了没有?
libin_ftsafe(子陌红尘:TS for Banking Card)
是对的 !!
不好意思刚次看错了 !!
-----------------
不行的,子陌寫的針對上面數據有效, 如果多一點數據就不行的
(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)
這樣才可以顯示每一組中數據的一半