我有一个包含以下内容的表格:
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| user | varchar(128) | NO | | NULL | |
| content | varchar(512) | NO | | NULL | |
| location | varchar(128) | NO | | NULL | |
| timestamp | varchar(128) | NO | | NULL | |
+-----------+--------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
使用ActiveRecord查询选择n个最新帖子的最有效方法是什么?也就是说,给定一个变量n= 9,我想要第9个最近的帖子。
发布于 2018-07-07 03:02:05
如果你需要前9个,你可以使用limit 9..
select * from my_table
order by timestamp desc
limit 9
或者,如果您只需要第9个使用限制8,1
select * from my_table
order by timestamp desc
limit 8,1
发布于 2018-07-07 04:17:11
听起来像是offset
的工作。例如,要获取第三本书,请使用offset(2)
irb(main):010:0> Book.order(created_at: :asc).limit(3).map &:author
=> ["Steven B. Sample", "Victor H. Krulak", "Steven F. Hayward"]
irb(main):011:0> Book.order(created_at: :asc).offset(2).first.author
=> "Steven F. Hayward"
https://stackoverflow.com/questions/51216299
复制相似问题