Mysql &引用;逆;限制?
我正在使用MySQL存储财务数据,并使用这些数据构建每个帐户的所有事务的注册表。出于性能方面的考虑,为了避免用户被庞大的表压垮,我对结果进行分页 现在,作为寄存器的一部分,我显示帐户的流动余额。因此,如果我每页显示20个事务,而我显示的是第二页,我使用的数据如下:Mysql &引用;逆;限制?,mysql,sql,pagination,limit,Mysql,Sql,Pagination,Limit,我正在使用MySQL存储财务数据,并使用这些数据构建每个帐户的所有事务的注册表。出于性能方面的考虑,为了避免用户被庞大的表压垮,我对结果进行分页 现在,作为寄存器的一部分,我显示帐户的流动余额。因此,如果我每页显示20个事务,而我显示的是第二页,我使用的数据如下: 事务0-19:忽略它们-它们比正在查看的页面更新 事务处理20-39:从这些事务中选择所有内容-它们将被显示 交易40-??:将这些交易的金额相加,以使流动余额准确无误 我最讨厌的是最后一个。使用限制条款选择前40个交易很容易,但
- 事务0-19:忽略它们-它们比正在查看的页面更新
- 事务处理20-39:从这些事务中选择所有内容-它们将被显示
- 交易40-??:将这些交易的金额相加,以使流动余额准确无误
我知道我可以通过一个计数和一点数学来实现这一点,但实际的查询有点难看(多个连接和分组),所以我宁愿尽可能少地发出它。这似乎足够有用,可以包含在SQL中——我只是不知道。还有其他人吗?你可以这样做:
select sel.*
from
(
SELECT @rownum:=@rownum+1 rownum, t.*
FROM (SELECT @rownum:=0) r, YourTableOrYourSubSelect t
) sel
where rownum > 40
这有点像在MySQL中使用Oracle的rownum。说:
LIMIT
子句可用于约束返回的行数
通过选择语句<代码>限制
接受一个或两个数值参数,
都必须是非负整数常量,并且
例外情况:
- 在准备好的语句中,可以指定
限制
参数
使用?占位符标记
- 在存储程序中,可以使用指定
LIMIT
参数
自MySQL起的整数值例程参数或局部变量
5.5.6
对于两个参数,第一个参数指定
要返回的第一行,第二行指定
要返回的行。初始行的偏移量为0(不是1):
检索从某个偏移量到结果末尾的所有行
设置时,可以使用较大的数字作为第二个参数。这
语句检索从第96行到最后一行的所有行:
SELECT * FROM tbl LIMIT 95,18446744073709551615;
下次,请将文档用作您的第一个呼叫端口。是有意义的,即使它有点像黑客。我将取代Adrian的,因为它看起来更可能使用索引。所以,尽管你删除了我原始问题中礼貌的部分,并感谢人们帮助我:谢谢。@Xavier:我只删除了多余和不必要的标签和签名。请停止在你的问题中写它们。
SELECT * FROM tbl LIMIT 95,18446744073709551615;