用SQL如何统计获取结果中从多到少的前10个
select * from qdn_lks_ssq_2013056_tj1_501_t t2
where (shju,cn) in (select shju,max(cn) from qdn_lks_ssq_2013056_tj1_501_t group by shju);
这个语句是获取最多的一个,也就是shju相同的数据中, cn最多的一个,如何获取shju相同的,从多到少的前10个呢
[解决办法]
参考下贴中的多种方法
http://blog.csdn.net/acmain_chm/article/details/4126306
[征集]分组取最大N条记录方法征集,及散分....
[解决办法]
假设cn唯一
SELECT * FROM AA A1 WHERE 10>(SELECT COUNT(*) FROM AA WHERE A1.shju=shju AND
A1.cn<=cn)
[解决办法]
将记录数从多到少排序,显示前十个
select top 10 * from ...... order by shju,cn