日期:2014-05-18  浏览次数:20374 次

求一条简单sql语句。纯送分帖。来者有分
字段A 字段B 字段C 

1 aaa 1
2 aaa 1
3 aaa 1
4 bbbb 1
5 bbbb 1
6 ccccc 1
7 aaa 1
8 ccccc 1
9 bbbb 1
10 ddd 1

返回 以字段B为唯一的1000条记录出来。例:aaa取出了1000条,bbbb取出了1000条,ccccc由于没有1000条取出了800条...以此类推,返回在记录集中。

要求:高效,精简,我将进行测试各位的SQL句,并会在一台服务器中测试:在100万条记录中获得时间最短者获胜。

注:用sql server 2000实现

------解决方案--------------------
SQL code

select *
from tb t
where (select count(1) from tb where 字段B = t.字段B and 字段A <= t.字段A) <= 1000