数据库查询问题 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条的。
在线求高手解决 展开
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条的。
在线求高手解决 展开
3个回答
展开全部
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) ";
}
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) ";
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询