sql server 2008 如何分页和总条数一次性查出来

korein 2009-09-21 04:22:39
最近在做分页,用到了这个新技术,分页没问题的,可是这个总条数也是要显示的,但是不知道该如何一次性查询出来,查两次也太原始化了吧。
请教高手~~~
...全文
1643 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bicijinlian 2011-07-29
  • 打赏
  • 举报
回复
select * from 表
seclec count(*) as rows from 表
这样,在asp.net里,用DataSet取得,就是两张表。主数据dataset.table[0]总条数为dataset.table[1]
korein 2009-09-21
  • 打赏
  • 举报
回复
或者可以这样,如果要在最后显示分页就把条数union到最后,要在前面显示就union到前面,这样就一次查询了。不过程序里处理或许相对啰嗦些~~
各位who对这个有更好的建议,木有结贴喽~~
korein 2009-09-21
  • 打赏
  • 举报
回复
果然人多力量大~可以修改最后的那块:
SELECT *
FROM TEMP a inner join (select COUNT(1) as totalNum from TEMP) b on 1=1
where ROW >= 10 AND ROW < 20

这样就一个表里出来了。

但是忽然发现分页显示的时候这样似乎用起来并不是很方便,还是两次查询吧。。。多谢各位~~
xiequan2 2009-09-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 korein 的回复:]
to:aoyihuashao
不是top这么简单,是用
WITH TEMP AS(
SELECT *, ROW_NUMBER() OVER (order by proj_name,pdls_position) AS ROW
FROM (...) a )
SELECT * FROM TEMP where ROW >= 10 AND ROW < 20

我想在这个语句中把总条数也一起查出来。

[/Quote]

SELECT *,记录总数据=(select count(1) from t where ROW >= 10 AND ROW < 20) FROM TEMP where ROW >= 10 AND ROW < 20
--小F-- 2009-09-21
  • 打赏
  • 举报
回复

WITH TEMP AS(
SELECT *, ROW_NUMBER() OVER (order by proj_name,pdls_position) AS ROW
FROM (...) a )
WITH F AS
(SELECT * FROM TEMP where ROW >= 10 AND ROW < 20)
select count(1) from f
korein 2009-09-21
  • 打赏
  • 举报
回复
to:aoyihuashao
不是top这么简单,是用
WITH TEMP AS(
SELECT *, ROW_NUMBER() OVER (order by proj_name,pdls_position) AS ROW
FROM (...) a )
SELECT * FROM TEMP where ROW >= 10 AND ROW < 20

我想在这个语句中把总条数也一起查出来。
aoyihuashao 2009-09-21
  • 打赏
  • 举报
回复

declare @t table (c int)
insert into @t
select 1 union all
select 2 union all
select 3 union all
select 4 union all
select 5 union all
select 6 union all
select 7 union all
select 8 union all
select 9 union all
select 0

select TOP 5 *,(SELECT COUNT(1) FROM @t) as total from @t

---------------
/*

1 10
2 10
3 10
4 10
5 10


*/


这样?
--小F-- 2009-09-21
  • 打赏
  • 举报
回复
什么意思?
soft_wsx 2009-09-21
  • 打赏
  • 举报
回复
学习一下!

6,129

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 新技术前沿
社区管理员
  • 新技术前沿社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧