sql语句查询并且加分页 10

--ReadCountselecttop5*fromT_CommonProblemswhereReadCount>10orderbyReadCountdesc--weig... --ReadCount
select top 5 * from T_CommonProblems where ReadCount>10 order by ReadCount desc
--weight
select top (15-(select COUNT(1) from (select top 5 * from T_CommonProblems where ReadCount>10) as tb )) * from T_CommonProblems where ID not in (select top 5 ID from T_CommonProblems where ReadCount>10) order by Weight desc
先根据readcount越高排在最前面,之后在根据weight降序排序,(每页十五行,前五行是readcount降序,后十行是根据weight降序,如果数量不够,则相应补齐)上面是效果已经出来,能不能把这两句的sql语句整合在一起并且加分页,每页显示15行, 在线等。很急,谢谢!!!!
readcount 只取大于10.
如果整合在一起不行的话,也可以分别加分页,并且最好可以把weight的sql语句稍微简化些。
展开
 我来答
纵风娄茂才
2019-08-05 · TA获得超过1101个赞
知道小有建树答主
回答量:1733
采纳率:100%
帮助的人:8万
展开全部
你的意思是前五行是固定的,后十行进行分页是么,前五行固定写死,后十行用参数或动态sql来进行分页。例如第一页:
select top 5 id,readcount,weight from table1 order by readcount desc
union all
select top 10,id,readcount,weight from table1 order by weight desc --这句进行动态sql或传参数进行分页,网上分页的sql很多。有问题再追问。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-01-13
展开全部
如果是 SQL Server 数据库的话, 你可以尝试 创建个返回结果集的存储过程, 来完成这个操作。
追问
不太懂,我可是新手
追答
CREATE FUNCTION   表值函数的名字 ()
RETURNS @result TABLE( 你查询结果里面的列的定义 )
AS
BEGIN
INSERT INTO @result select top 5 * from T_CommonProblems where ReadCount>10 order by ReadCount desc;
INSERT INTO @result select top (15-(select COUNT(1) from (select top 5 * from T_CommonProblems where ReadCount>10) as tb )) * from T_CommonProblems where ID not in (select ID from @result) order by Weight desc ;
RETURN;
END;
查询的方法:
SELECT * FROM 表值函数的名字();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友561251d
2014-01-20 · TA获得超过185个赞
知道小有建树答主
回答量:324
采纳率:0%
帮助的人:110万
展开全部
你用子查询试试,一个sql 两种排序方式的话,估计也只能用子查询了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式