我有一张包含书籍的表格、一张包含作者的表格以及一张将书籍与作者相关的表格。一本书可以有多个作者,所以当我对 this results 进行大查询时如果这本书有多个作者,我可能会在每本书中获得不止一行。然后,我将 PHP 中的结果合并在一起,但问题是,如果我 LIMIT - OFFSET 分页查询,则每页可能会得到少于 25 本书(所需的)独特书籍。
任何人都可以想到一种(或者是否有内置)方法来让 LIMIT 影响分组查询,但仍然获得所有结果?我不想先执行一个分组查询,然后执行其他查询来获取每位作者,因为我失去了缓存结果的好处。
如果没有,我可能会预先保存缓存的结果,然后分别查询每个作者。
最佳答案
我在不同的用例(剧院预订系统)中遇到了完全相同的问题,经过一些研究和测试,我使用了预通过方法。它快速、干净,即使有大量行(在我的例子中,超过 600k)也能很好地工作。希望能帮助到你! :)
关于sql - 是否可以将 LIMIT 应用于分组结果,但仍获取所有行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4716396/