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语句稍微简化些。 展开
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语句稍微简化些。 展开
展开全部
你的意思是前五行是固定的,后十行进行分页是么,前五行固定写死,后十行用参数或动态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很多。有问题再追问。
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 表值函数的名字();
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你用子查询试试,一个sql 两种排序方式的话,估计也只能用子查询了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询