多字段排序的时候,怎么取“上一条”、“下一条”?
select newsID, isTop, myOrder, nTime
from A_News
where classID = 29
order by isTop, myOrder, nTime desc, newsID desc
newsID是自增字段,access数据库,给定一个newsID,怎么取上一条和下一条?
不要告诉我在列表文件里传递参数到新闻显示的页面,列表文件是分页的,每页的第一条新闻,取不到“上一条”,第页的最后一条新闻,取不到“下一条”
不要告诉我在显示新闻的页面用select newsID from A_News where classID = 29 order by isTop, myOrder, nTime desc, newsID desc,然后用再整个记录集对比,找当前newsID,再取上一条和下一条,如果新闻有5000个,够少了吧?5000个,那每个新闻读取的时候,都要先读取一次5000个记录吗?
不要告诉我下面这种办法:
select newsID from A_News
where classID = 29
and newsID <> @nid
and isTop <= (select isTop from A_News where newsID = @nid)
and myOrder <= (select myOrder from A_News where newsID = @nid)
and nTime >= (select nTime from A_News where newsID = @nid)
order by isTop, myOrder, nTime desc, newsID desc
因为这个是错误的, order by isTop, myOrder, nTime desc, newsID desc,是按字段排序,排在前面的,后面的排序字段值不一定可以用来比较大小
access数据库,谁有办法?教我。。。