数据库查询问题 select top语句

修改一个新闻发布后台时,遇到这样一个问题:SELECTtop7*FROMwxzpwherewxzpleft=123orderbyd_idDESC这个是查询一个栏目最新发布... 修改一个新闻发布后台时,遇到这样一个问题:
SELECT top 7 * FROM wxzp where wxzpleft=123 order by d_id DESC
这个是查询一个栏目最新发布的7条新闻
我想再查询该栏目第8条到第14条最新的新闻,自己改的如下:
ELECT top 7 * FROM wxzp where wxzpleft=123 and d_id not in (SELECT top 7 d_id FROM wxzp where wxzpleft=123) order by d_id DESC
但是这样的输出结果还是前7条的。
在线求高手解决
展开
 我来答
百度网友ccae8d0
2010-04-11 · TA获得超过2186个赞
知道大有可为答主
回答量:3104
采纳率:0%
帮助的人:1502万
展开全部
top后面的数值要通过动态计算得出,单纯写个7只会查询前7条,点下页时是要计算的
if(page_num==1){
sql="select top "+p.getRowsPerPage()+" * from pubExchangeRate";
}else{
sql="select top "+p.getRowsPerPage()+" * from pubExchangeRate where eid>(select max(student1.eid) from (select top "+(p.getCurPage()-1)*p.getRowsPerPage()+" eid from pubExchangeRate) student1) ";
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
du瓶邪
推荐于2016-06-09 · TA获得超过2.4万个赞
知道大有可为答主
回答量:1.7万
采纳率:100%
帮助的人:3023万
展开全部
1、拼接查询语句(SQL2000,2005,2008均可)
DECLARE @a AS INT
SET @a=1
EXEC('SELECT TOP '+@a+' * FROM mtrcLanguages')
2、直接使用(适用SQL2005以上)
DECLARE @a AS INT
SET @a=2
SELECT TOP(@a) * FROM Common.tblCode tc
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lu_hua
2010-04-11 · TA获得超过238个赞
知道小有建树答主
回答量:337
采纳率:0%
帮助的人:0
展开全部
SELECT top 7 * FROM wxzp where wxzpleft=123 and d_id not in (SELECT top 7 d_id FROM wxzp where wxzpleft=123 order by d_id DESC) order by d_id DESC
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式