gpt4 book ai didi

sql - 如何仅从查询中提取显示所需的记录?

转载 作者:行者123 更新时间:2023-12-02 07:43:04 25 4
gpt4 key购买 nike

我正在使用数据表 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>

有没有办法把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

这将为您提供从 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 */

关于sql - 如何仅从查询中提取显示所需的记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9135072/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com