gpt4 book ai didi

mysql - 是否可以在维护查询的同时使用计数来获取总行数?

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

以下查询从名为 video 的表中获取所有结果

SELECT video.* from video 
LEFT JOIN conv_progress on video.vid_id=conv_progress.vid_id
LEFT JOIN upload_progress on video.vid_id=upload_progress.vid_id
where conv_progress.vid_id is null
AND upload_progress.vid_id is null
ORDER BY video.timestamp DESC LIMIT ?, ?

我只想统计分页使用的总结果。如果我使用 rowCount(),当前的 limit ?,? 会减少我的计数。

SELECT video.*, COUNT(vid_id) as count from video 
LEFT JOIN conv_progress on video.vid_id=conv_progress.vid_id
LEFT JOIN upload_progress on video.vid_id=upload_progress.vid_id
where conv_progress.vid_id is null
AND upload_progress.vid_id is null
ORDER BY video.timestamp DESC LIMIT ?, ?',$variables

此查询只返回一个结果,但返回一个正确的计数。有人知道我该如何解决这个问题吗?

最佳答案

MySQL 有一个 sql_calc_found_rows 扩展,它强制数据库引擎计算如果没有 limit 语句将会检索多少行。然后,您可以在单独的查询中使用 [SELECT found_rows()][1] 检索此完整行数。

父查询的基本语法是:

SELECT sql_calc_found_rows video.*  FROM video
...
LIMIT ?,?

关于mysql - 是否可以在维护查询的同时使用计数来获取总行数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7182697/

26 4 0
文章推荐: PHP好友添加系统不能正常工作
文章推荐: php - MySQL:如何计算复杂查询返回的行数
文章推荐: javascript - GreenSock 动画未按预期工作
文章推荐: javascript - 获取
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com