
1 Wuvist May 11, 2014 就是分页,只是每页两个项目;你分页时怎么做,这里就怎么做。 分页查询参考: http://www.cnblogs.com/wuvist/archive/2010/03/15/1686267.html 的风格3. |
2 cbsw May 11, 2014 只用过 Django 自带的分页,具体底层实现不是很清楚 |
3 lincanbin May 11, 2014 多加一条查询太花时间,建议直接加个字段保存上一篇和下一篇的内容。 然后发布博文和删除时,对可能受影响的记录进行update |
4 txlty May 11, 2014 order by id desc / asc 各取一条,也可以。 |
5 kxxoling May 11, 2014 SELECT * FROM table LIMIT 3 OFFSET n-1; 这样?可以获取这篇文章及上下两篇文章,但n必须是本篇文章的rownum。 |
10 dong3580 May 12, 2014 via iPhone @hjse7en 不知道楼主问的是哪个SQL? 我只会MSSQL和Oracle. 可以这样分页: select id,title from article where userid=4 and id>=1 and id<10 //动态变化id就达到分页了. 至于上一篇上一篇,肯定是点进这个页面之后才有的呀, 例如点进 id为10的页面,在url里面可以加上: xxx.aspx?id=10 那么他的 上一篇就是xxx.aspx?id=9 下一篇就是xxx.aspx?id=11 另外就是union尽量少用, |
11 blogphp230com May 12, 2014 根据文章ID或者文章发布时间来获取 上一篇:where id<123 order by id desc limit 1 下一篇:where id>123 order by id sac limit 1 |
13 dong3580 May 12, 2014 @hjse7en 如果id不连续,你上面的所谓语句确定没问题? 不连续那就查询两次呗,个人建议像这种非复杂的查询不要使用union之类的高级功能,看你自己吧. 如果是oracle就用rownum,更简单; 如果是MSSQL用row_number一样啊. select pageid,id,title from( select row_number() pageid,id,title from article where userid=4 ) where pageid>=1 and pageid<10 PS:我现在没法用mssql工具,语句类似上面的. |
15 hjse7en OP @dong3580 id是自增长的,这里查出来的结果是根据user过滤的,所有有可能一个用户下,上一篇文章跟下一篇文章中间有几个间隔id是别的用户的。 |