我有一个程序来返回一个受页码和其他东西限制的结果集.作为OUTPUT参数,我需要根据除页码之外的参数返回所选行的总量.所以我有类似的东西:
WITH SelectedItems AS
(SELECT Id, Row1, Row2, ROW_NUMBER() OVER (ORDER BY Row1) AS Position
FROM Items
WHERE Row2 = @Row2)
SELECT Id, Row1, Row2
FROM SelectedItems
WHERE Position BETWEEN @From AND @To
Run Code Online (Sandbox Code Playgroud)
然后我需要将OUTPUT参数设置为内部查询中的行数.我可以复制查询并对其进行计数,但是这个查询可能会返回数千行(并且将来会更多),所以我正在寻找方法来实现这一点并获得良好的性能.我在考虑表变量,这是个好主意吗?还是其他任何建议?
更具体地说,它是Microsoft SQL Server 2008.
谢谢你,Jan
之间有什么区别Swapping和Paging参考Process Memory Management?
如果有任何我可以获得更多信息的地方,也请指导我的教程.
我正在学习Linux内核并阅读"Linux内核 "一书.
任何人都可以解释为什么我们不能只使用直接映射逻辑和物理内存而不是树状多层结构的表?
添加:
所需的条目总数是固定的,所以我认为存储复杂结构而不是简单结构浪费的空间更多.
我正在我的应用程序中进行一些分页,使用PostgreSQL的标准OFFSET和LIMIT关键字一次从数据库返回20行.例如,要获取第1页页面:
SELECT stuff FROM table WHERE condition ORDER BY stuff OFFSET 0 LIMIT 20
Run Code Online (Sandbox Code Playgroud)
我们还向用户显示记录总数,这是应用程序的要求.所以,显然,我可以通过发出一个单独的查询来获得总数:
SELECT COUNT(*) FROM table WHERE condition
Run Code Online (Sandbox Code Playgroud)
但是如果存在大量行,那么这不是最佳解决方案.我注意到MySQL有一个非常有用的函数FOUND_ROWS(),它正是我正在寻找的:
http://dev.mysql.com/doc/refman/5.0/en/information-functions.html#function%5Ffound-rows
PostgreSQL中有相同的东西吗?
我想要一个水平滚动UIScrollView启用分页.此滚动视图中的页面具有不同的宽度,因此滚动距离因页面而异.
目标是为不同的时间点制作一个选择器,例如:
| Now | Yesterday evening | Last Week | Last Month |
^ ^ ^ ^ <- stopps here
Run Code Online (Sandbox Code Playgroud)
这里| Now |的宽度小于| Yesterday evening |.在浏览此值时,scrollview应停在相应值的中心.
那可能吗?
来自过去的操作系统final的示例问题,我该如何计算这类问题?
计算机具有64位虚拟地址空间和2048字节页面.页表条目需要4个字节.使用多级页表,因为每个表必须包含在页面中.需要多少级别?
我该如何计算?
有人可以为如何生成StackOverflow上的分页链接提供代码或伪代码吗?
我不停地绞尽脑汁但却想不出一种合适的方式来构建动态链接,这些链接总是显示当前的2页,加上第一页和最后一页.
例: 1 ... 5 6 7 ... 593
$objConnect = mysql_connect("localhost","root","") or die(mysql_error());
$objDB = mysql_select_db("Test");
$strSQL = "SELECT * FROM UserAddedRecord WHERE (Name LIKE '%".$getname."%' and State LIKE '%".$getstate."%' and Cell LIKE '%".$getcell."%' and Custgroup LIKE '%".$getgroup."%') AND user_id=$id";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$Num_Rows = mysql_num_rows($objQuery);
$Per_Page = 5;
if (!isset($_GET['Page'])) {
$Page = 1;
} else {
$Page = $_GET['Page'];
}
$Prev_Page = $Page - 1;
$Next_Page = $Page + 1;
$Page_Start = (($Per_Page * $Page) - $Per_Page);
if ($Num_Rows <= $Per_Page) …Run Code Online (Sandbox Code Playgroud) 我列出了这个问题
SELECT q.qTitle, q.qDescription, q.qCreatedOn, u.uCode, u.uFullname, qcat.qcatTitle, q.qId, q.qStatus
FROM tblQuestion AS q INNER JOIN tblUser AS u
ON q.uId = u.uId INNER JOIN tblQuestionCategory AS qcat
ON q.qcatId = qcat.qcatId
WHERE (q.qStatus = 1)
ORDER BY q.qCreatedOn DESC
OFFSET @page*10 ROWS FETCH NEXT 10 ROWS ONLY
Run Code Online (Sandbox Code Playgroud)
但我的服务器出现问题,
Incorrect syntax near 'OFFSET'.
Invalid usage of the option NEXT in the FETCH statement.
Run Code Online (Sandbox Code Playgroud)
如何修改sql server 2008的查询?
还有一个问题.如何编写列出页面的存储过程?这是我的完整代码http://codepaste.net/gq5n6c
我一直试图实现分页已经有一段时间了,我发现这个教程用于使用MVC进行分页:ASP.NET MVC分页完美地完成了
现在,在这个解决方案中,我在数据库中查询整个客户端集,然后返回一个客户端的分页列表而不是普通列表.
我觉得这很令人不安,因为我只打算每页显示10或20个条目,而我的数据库很容易就会有超过一百个.因此,每次我想显示Index页面时查询整个数据库似乎都是一个糟糕的解决方案.
如果我理解错误的东西,请立即剪掉我,但对我而言,这个解决方案绝不是完美的.
我误解了什么吗?是否有一个更有效的解决方案或库用于MVC的分页?
paging ×10
sql ×3
count ×2
sql-server ×2
algorithm ×1
asp.net-mvc ×1
c# ×1
iphone ×1
linux-kernel ×1
mysql ×1
pagination ×1
php ×1
picker ×1
postgresql ×1
process ×1
swap ×1
t-sql ×1
uiscrollview ×1