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

gnolk 2013-05-27 09:02:31

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个呢
...全文
1599 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
gnolk 2013-05-29
  • 打赏
  • 举报
回复
引用 4 楼 my0o 的回复:
将记录数从多到少排序,显示前十个 select top 10 * from ...... order by shju,cn
怎么运行不了呢
my0o 2013-05-29
  • 打赏
  • 举报
回复
将记录数从多到少排序,显示前十个 select top 10 * from ...... order by shju,cn
my0o 2013-05-29
  • 打赏
  • 举报
回复
不通版本可能使用中会有点小的区别 你可以分几步进行 比如,查看能否显示指定条数记录 select top 10 * from 表名 有些版本可能会不适用,我原来用的sybase11.9版本就不能用select top 10 *,而要用set rowcount 10 ,在12.5版本以后就可以top10了 然后看能否按排序显示order by......
WWWWA 2013-05-28
  • 打赏
  • 举报
回复
假设cn唯一 SELECT * FROM AA A1 WHERE 10>(SELECT COUNT(*) FROM AA WHERE A1.shju=shju AND A1.cn<=cn)
WWWWA 2013-05-28
  • 打赏
  • 举报
回复
假设cn唯一 SELECT * FROM AA A1 WHERE 3>(SELECT COUNT(*) FROM AA WHERE A1.shju=shju AND A1.cn<=cn)
ACMAIN_CHM 2013-05-27
  • 打赏
  • 举报
回复
参考下贴中的多种方法 http://blog.csdn.net/acmain_chm/article/details/4126306 [征集]分组取最大N条记录方法征集,及散分....

6,108

社区成员

发帖
与我相关
我的任务
社区描述
其他数据库开发 数据库报表
社区管理员
  • 数据库报表社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧