显示特定ID后的记录

时间:2013-03-11 12:18:05

标签: php mysql sql

这里的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之后显示记录

2 个答案:

答案 0 :(得分:1)

您可以使用限制和偏移来实现它,请参阅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

答案 1 :(得分:1)

找到此ID的行位置并从中启动限制。