-1

这里是 SQL 查询,我需要对其进行一些调整

 SELECT DISTINCT ic.img_path, ic.id
                    FROM images_community ic
                    WHERE ic.delete_flag = 0 AND ic.status = 1
                    ORDER BY ( SELECT (count(id = ic.id ) +  ic.views) 
                    FROM image_comments WHERE img_id = ic.id) DESC

我需要在特定 ID 后显示记录

不限制和偏移肯定我需要在这个 id = 5 这个图像检索之后显示行

> images  id | img_path
>         1  | dafad.sjdbh
>         2  | dafad.sjdbh
>         5  | dafad.sjdbh
>         3  | dafad.sjdbh

是否有办法在检索到的同一查询中显示 id = 5 之后的记录

4

2 回答 2

1

可以使用limit和offset来实现,请看Limit, Offset

如果您想要偏移后的所有行,只需执行

SELECT DISTINCT ic.img_path, ic.id
                    FROM images_community ic
                    WHERE ic.delete_flag = 0 AND ic.status = 1
                    ORDER BY ( SELECT (count(id = ic.id ) +  ic.views) 
                    FROM image_comments WHERE img_id = ic.id) DESC LIMIT (SELECT cout(*) FROM table_name) OFFSET my_row_offset
于 2013-03-11T12:21:38.263 回答
1

找到此 ID 的行位置并从它开始限制。

于 2013-03-11T14:42:57.520 回答