mysql - 如何根据分页 API 中的属性获取前 X 个项目?
问题描述
请注意,这个问题是故意含糊的。 假设,我有一个返回书籍分页数据的 API。每页 100 个书籍对象 [此数据出现在标题中,如“总页数”。响应正文采用 JSON 对象列表的格式。
[
{},
{},
.
.
.
]
假设 book 对象具有所有必要的数据,例如标题、描述、销售数量等。如何返回畅销的 n 本书[畅销 => 最高销量]?您不能提供任何参数,例如
GET endpoint/orderby=popularity&order=desc
到此端点,您无法进行任何数据库查询优化。我们如何用纯代码解决这个问题?我将不胜感激任何想法或建议。
解决方案
由于端点接受的参数有限,因此您唯一的选择是获取所有页面(通过不断循环直到出错),然后在您的程序中对其进行排序。
如果上述解决方案很慢,您可以通过放宽您的要求来return top-selling n number of books
优化return a few top-selling books which are in the top X%
推荐阅读
- sql - R:从另一个表(dplyr/sql)“回填”一个表
- javascript - 通过 sudo 以无主用户身份运行时如何访问全局 $PATH 二进制文件?
- c# - C# MongoDb 查找嵌套数组
- javascript - 隐藏元素上的动画可见
- java - 使用递归的子串
- reactjs - 如何将对象设置为状态变量?
- php - Dompdf 写在其他 html 元素之上 - Laravel 6 - PHP 8
- flutter - 即使 Firebase 身份验证有错误,我的颤振应用程序也会移动到新页面
- php - laravel中如何统计数据的数量
- javascript - 打字稿:映射对象值,同时保持可选键可选