注册 登录
编程论坛 SQL Server论坛

sql排序问题,为什么怎么排都不对?急呀

yzwt2004 发布于 2007-02-01 12:36, 940 次点击

30
29
28
..
..
..
17
16
我要上面这种效果

方法一:(不对)
SQLstr="select top 15 ID,add_date from enks_yy where id > 15 order by id desc"

方法二:(还是不对)
SQLstr="select top 15 from (select ID,add_date from enks_yy where id > 15 order by id desc)"

我晕了,要怎么写呀?

10 回复
#2
棉花糖ONE2007-02-01 12:52

方法一没问题啊,方法二两个地方语法错误

#3
yzwt20042007-02-01 12:55
方法是没问题。能通过,可不是我想要的结果
他得到是最大的ID号开始的15个,如:
300
..
...
276

并不能得到
30
29
28
..
..
..
17
16

帮我看看,怎么得到我想要的结果,谢谢
唉,急死了
#4
棉花糖ONE2007-02-01 13:00
select b.* from (select top 15 ID,add_date from enks_yy where id > 15 order by id asc) b order by id desc
#5
yzwt20042007-02-01 13:04

ADODB.Recordset 错误 '800a0cc1'
在对应所需名称或序数的集合中,未找到项目

rs记集中没数据

[此贴子已经被作者于2007-2-1 13:08:33编辑过]

#6
棉花糖ONE2007-02-01 13:07

我写的语句只是查询分析器中执行的,asp的问题我就不清楚了,b是表的一个别名,代表(select top 15 ID,add_date from enks_yy where id > 15 order by id asc)的结果集

#7
yzwt20042007-02-01 13:09
晕,这样呀

没办法了吗?
#8
棉花糖ONE2007-02-01 13:12

你学asp的还问我

#9
thjaxd2007-02-03 01:57
不晓得这样对不?:select ID,add_date from enks_yy where id between 16 and 30 order by id desc
#10
初学Delphi2007-02-03 02:02
select * from (select top 30 * from enks_yy ) a where not exists(select * from (select top 15 * from enks_yy ) where a.id=b.id) 这个是你想要的么?
我在网吧 没法测试
你看看排序的该加在什么地方吧
#11
Kendy1234562007-02-03 16:36
9楼正解
1