我正在尝试执行一个SQL查询,该查询首先使用第1行中最新的数据对数据进行排序,然后将第1行中的所有条目返回到具有特定ID的条目。这样做的目的是将内容加载到移动应用程序,并且当用户刷新内容时,仅返回比他已加载的最新内容更新的内容。到目前为止,我想出了这个:
$all_feed_posts = mysqli_query($conn,"SELECT *
FROM feed_img_vid
WHERE city_geo_name_id = '$geo_name_id'
ORDER BY timestamp DESC
LIMIT WHERE feed_instance_id = $offset");
但是我不确定limit关键字是否适合在这里使用。
答案 0 :(得分:2)
如果您在$offset
var中读过最后一个ID,那么您只需将AND
添加到您的子句中即可。
我猜所有新记录都应该有feed_instance_id > $offset
:
SELECT *
FROM feed_img_vid
WHERE city_geo_name_id = '$geo_name_id'
AND feed_instance_id > $offset
ORDER BY timestamp DESC
答案 1 :(得分:0)
LIMIT仅获取多个行和偏移量使用HAVING AND<或者>或=
$all_feed_posts = mysqli_query($conn,"SELECT * FROM feed_img_vid WHERE
city_geo_name_id = '$geo_name_id'
ORDER BY timestamp DESC HAVING feed_instance_id < $offset");
答案 2 :(得分:0)
你可以尝试这个兄弟。
$limit = $offset; // or whatever upto you want to pluck
$all_feed_posts = mysqli_query($conn,"SELECT * FROM feed_img_vid WHERE city_geo_name_id = '$geo_name_id' ORDER BY timestamp DESC HAVING feed_instance_id <= $limit");
当然你可以直接使用$ offset