SQL查询问题没有返回正确的分页结果

时间:2014-02-06 13:56:10

标签: mysql sql

SELECT ph.* FROM photos p LEFT JOIN entries e ON e.id=ph.post_id WHERE e.userid="'.$userid.'" AND ph.type="image" '.$start.' ORDER BY e.id DESC, ph.id DESC LIMIT 10

where $start = "AND ph.id<"'.$previousphoto.'"'

每个博客条目(e)可以附加一张(或多张)照片(ph)。我正在制作一个页面,只显示博客条目中的照片,每页/照片分成10张照片。

此MYSQl查询的问题最好在以下情况中描述:

10篇博客文章 - 博客帖子附带的照片数量

  

发布10 - 附上2张照片

     

Post 09 - 附上3张照片

     

发布08 - 附上3张照片

     

发布07 - 附上3张照片

     

发布06 - 附上2张照片

     

发布05 - 附上1张照片

     

发布04 - 附上1张照片

     

发布03 - 附上1张照片

     

发布02 - 附上1张照片

     

发布01 - 附上1张照片

这10篇博客文章及其使用上述查询的相应图片会产生以下输出,格式为 [博客帖子x照片#博客帖子内

  

第1页(每页最多10张照片):

     

[10x2] [10x1]

     

[09x3] [09x2]

     

[09x1] [08x3]

     

[08x2] [08x1]

     

[06x2] [06x1] //帖子6? 7号邮件的照片去哪了?

     

第2页(每页最多10张照片)

     

[05x1] [04x1]

     

[03x1] [02x1]

     

[01x1]

显然缺少来自Post 7的3张照片 - 因为它们(如果包括在内)将导致第1页上返回11张照片(而不是10张的限制)。

理想情况下,需要在第1页上返回的内容是来自第7篇的照片中的2张,而另一张照片应该显示在第2页上 - 而不是所有这些照片都不包括在内。

有关如何修复此SQL查询的任何想法?

由于

0 个答案:

没有答案