gpt4 book ai didi

php - MySQL 循环选择

转载 作者:行者123 更新时间:2023-12-01 00:00:14 25 4
gpt4 key购买 nike

我有一个 url 表。我需要在循环赛中选择 1。希望每个网页浏览量或每个访问者显示 1 个,如果我有 100 个网页浏览量或访问者,则每个显示 20 次。

本质上:SELECT url FROM table LIMIT 1(轮流)

+-------+---------------------+
| id | url |
+-------+---------------------+
| 1 | http://google.com |
| 2 | http://yahoo.com |
| 3 | http://ebay.com |
| 4 | http://anything.com |
| 5 | http://other.com |
+-------+---------------------+

最佳答案

如果我正确理解循环法的意思,那么您可以按照以下方式做一些事情

SELECT id, url
FROM urls u CROSS JOIN
(
SELECT MIN(id) min_id, MAX(id) max_id
FROM urls
) m
WHERE id > IF(? >= max_id, 0, ?) -- last shown id goes here instead of placeholders
ORDER BY id
LIMIT 1;

存储(在 session 、文件、另一个表等中)并将最后显示的 id 或初始查询的 0 传递给您的查询。

如果您到达最后一行,这将为您提供下一行或第一行。如果您在 id 中有间隙,此查询仍然有效。

这是一个 SQLFiddle 演示

关于php - MySQL 循环选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29056870/

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