gpt4 book ai didi

MySQL:显示包含记录的页面

转载 作者:可可西里 更新时间:2023-11-01 07:35:54 26 4
gpt4 key购买 nike

假设有以下记录:

ID  Value
=========
1. No
2. No
3. No
4. No
5. No
6. No
7. Yes
8. No
9. No
10. No

我的记录显示的每个“页面”包含 5 条记录(因此第 1 页有记录 1-5,第 2 页有记录 6-10,依此类推......)。我想显示包含值为 Yes 的记录的页面。请记住,我真的不知道这个 Yes 在记录中的什么地方。

如何查询?

最佳答案

这样的事情怎么样:

/* Work out the page */
SELECT @MatchID = ID
FROM tbl
WHERE Value = 'Yes'
ORDER BY ID ASC
LIMIT 1;

SELECT @Page = CEIL(COUNT(*) / 5)
FROM tbl
WHERE ID <= @MatchID;

/* Select the items on that page */
SET @Offset = (@Page - 1) * 5;

SELECT *
FROM tbl
ORDER BY ID ASC
LIMIT @Offset, 5;

注意:以上内容不适用于未找到@MatchID。

我不确定 MySQL 限制是否必须是常量,因此如果它们是常量,则您必须使用 PHP 或用于连接 MySQL 的任何编程语言来计算偏移量。或者,也许这会起作用,而不是上面示例中的最后一个 SELECT 语句:

SET @selectSQL = CONCAT('SELECT * FROM tbl ORDER BY ID ASC LIMIT ', @Offset, ', 5');
PREPARE stmt FROM @selectSQL;
EXECUTE stmt;

关于MySQL:显示包含记录的页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7277187/

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