首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 企业软件 > 行业软件 >

用SQL怎么统计获取结果中从多到少的前10个

2013-06-25 
用SQL如何统计获取结果中从多到少的前10个select* from qdn_lks_ssq_2013056_tj1_501_t t2where (shju,cn)

用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

热点排行