| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 428 人关注过本帖
标题:一个关于按数字排序的问题请教!
收藏  订阅  推荐  打印 
nicechlk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:182
积分:2062
注册:2008-9-6
一个关于按数字排序的问题请教!

如下:
select top 10 * from [表名] order by num desc
说明:
num是数字型字段
出错现象:
虽然是按照数字大小倒序排列,但是却不是前10条记录,而是所有记录.请高手指点!!谢谢!!
搜索更多相关主题的帖子: 数字  
2008-9-6 19:10
tianyu123
Rank: 4
等级:高级会员
威望:2
帖子:563
积分:5876
注册:2007-8-26

select top 10 * from (select * from [表名] order by num desc)

或者

select top 10 * from [表名] order by num desc,其他字段 desc

改变一切,须从改变观念开始!
2008-9-6 19:34
kira007
Rank: 3Rank: 3
等级:中级会员
帖子:239
积分:2692
注册:2007-6-28

select top 10 * from [表名] order by num desc
单从这语句来看 是 正确的。
错误提示是什么?贴出来看看
可能出错的不是这个部分

生活的理想,就是为了理想的生活。
2008-9-6 19:36
nicechlk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:182
积分:2062
注册:2008-9-6

kira007 在 2008-9-6 19:36 的发言:

select top 10 * from [表名] order by num desc
单从这语句来看 是 正确的。
错误提示是什么?贴出来看看
可能出错的不是这个部分
错误倒是没有,就是不能按top 10执行,而是显示所有记录.
2008-9-6 19:53
kira007
Rank: 3Rank: 3
等级:中级会员
帖子:239
积分:2692
注册:2007-6-28

如果你不嫌烦可以尝试以下方法
dim i
i=0
sql= select top 10 * from [表名] order by num desc
set rs=conn.execute(sql)
do while not rs.eof
i=i+1
response.write  "当前第"&i&"条纪录="&rs(1)
if i>=10 then exit do
rs.movenext
loop
rs.close
set rs=nothing

生活的理想,就是为了理想的生活。
2008-9-6 20:01
nicechlk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:182
积分:2062
注册:2008-9-6

其实,我就想按着新闻浏览数量从大到小倒序排列.
我想用一个简单的方法来实现

帮助别人快乐自己!快乐别人,帮助自己!
2008-9-7 10:42
sunfishy
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:185
积分:2310
注册:2007-6-29

top对于数量相同项会全部输出.!.

5楼正解..
2008-9-7 11:08
nicechlk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:182
积分:2062
注册:2008-9-6

sunfishy 在 2008-9-7 11:08 的发言:

top对于数量相同项会全部输出.!.

5楼正解..
非常感谢,原来是这样的!

帮助别人快乐自己!快乐别人,帮助自己!
2008-9-7 21:05
nicechlk
Rank: 3Rank: 3
等级:中级会员
威望:1
帖子:182
积分:2062
注册:2008-9-6

kira007 在 2008-9-6 20:01 的发言:

如果你不嫌烦可以尝试以下方法
dim i
i=0
sql= select top 10 * from [表名] order by num desc
set rs=conn.execute(sql)
do while not rs.eof
i=i+1
response.write  "当前第"&i&"条纪录="&rs(1)
if i>=10 ...
呵呵,你的方法很管用,谢谢你哥们!

帮助别人快乐自己!快乐别人,帮助自己!
2008-9-7 21:07
smyh
Rank: 2
等级:注册会员
帖子:83
积分:956
注册:2007-1-1

select top 10 * from [表名] where 1=1 order by num desc

这样在(sql server)可以,ACCESS我没试过!~
2008-9-7 21:22
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.047902 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved