activerecord获取n个最新项目?

ix0qys7i  于 2021-06-24  发布在  Mysql
关注(0)|答案(2)|浏览(280)

我有以下表格:

| 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个最近的帖子最有效的方法是什么?i、 给定一个变量n=9,我想要第九个最近的帖子。

70gysomp

70gysomp1#

如果你需要第一个9,你可以使用限制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
x759pob2

x759pob22#

听起来像是一份 offset . 例如,要获取第3本书,请使用 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"

相关问题