Ran*_*hey 2 sql coldfusion datatables jquery-datatables
我正在使用datatables jquery插件.
我想将每个查询显示所需的记录拉到数据库中,因为表中可能有成千上万条记录.因此,不是做这样的事情而是调用表中的每条记录,并且由于分页而一次只显示一定数量的记录...
<cfquery name="get_users" datasource="dsn">
select user_id, first_name, last_name
from users
</cfquery>
<cfloop query="get_users" startrow="#startrow#" endrow="#endrow#">
...
</cfloop>
Run Code Online (Sandbox Code Playgroud)
有没有办法将startrow和endrow放在cfquery标签内或sql内,以便每次只获取一定数量的记录?
您需要将每个"页面"的起始点和记录数发送到数据库,并让它只返回这些记录.我不知道你正在使用什么数据库,但这里是MS SQL Server(2005+)查询的一个例子:
SELECT user_id, first_name, last_name
FROM (
SELECT ROW_NUMBER() OVER(
ORDER BY last_name, first_name
) AS rownum, user_id, first_name, last_name
FROM users
) AS users_page
WHERE rownum >= 1000 AND rownum <= 1010
ORDER BY last_name, first_name
Run Code Online (Sandbox Code Playgroud)
这将为您提供1000到1010的记录页面.
这是mysql版本:
SELECT user_id, first_name, last_name
FROM users
ORDER BY last_name, first_name
LIMIT 999, 10 /* offset is zero-indexed in mysql */
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
527 次 |
| 最近记录: |