gpt4 book ai didi

带有 while 循环的 MySQL 查询

转载 作者:太空宇宙 更新时间:2023-11-03 11:39:30 24 4
gpt4 key购买 nike

因此,我需要根据时间选择数据进行 MySQL 查询。

1| SET @t = 1490894826;
2| SELECT id
3| FROM table
4| WHERE status=1 AND
5| fav>500 AND
6| time BETWEEN @t-86400 AND @t
7| LIMIT 10

我的问题是,我需要此查询中的 10 行,但如果它给我 7 行(例如),当所选行数不是 10 或时间是大于 1480531730,每次 @t 变量都需要减去 86400。抱歉我的英语不好,看看我是如何使用 PHP 做到的,只是为了向您展示我真正想要的,我希望会更清楚。

$time=1490894826;
do{
$query = $db->query("SELECT * FROM table WHERE status=1 AND fav>500 AND time BETWEEN ? AND ? LIMIT 10",[$time-86400,$time]);
$time=$time-86400;
}while($query->rowCount()!=10||$time>1480531730);

谢谢

最佳答案

我建议你这样做:

SET @t = 1490894826;
SELECT id
FROM table
WHERE status = 1 AND fav > 500 AND
time <= @t
ORDER BY time DESC
LIMIT 10;

即去掉BETWEEN,只取最近的10次。

关于带有 while 循环的 MySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43126198/

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