Ruby on Rails:从数据库列获取最大值


125

目前,我可以在数据库上进行直接SQL查询:

SELECT MAX(bar) FROM table_name

然后返回该表中的最大值。但是,当我进行在Rails中的等效调用时,它不起作用。我正在打电话:

Bar.all(:select => "Max(bar)")

这简单地返回:

[#<Bar >]

在我要求的列中,有一系列标识数字,我正在寻找最大的数字。在Rails中还有其他访问方式吗?

Answers:



6

另一种方式

Bar.select("Max(bar) as max_bar").first.max_bar

5
你为什么想做这个?更冗长,并执行Bar.maximum(:bar)
与之

19
例如,如果您同时需要最小值和最大值:Bar.select("MAX(bar) max_bar, MIN(bar) min_bat").first.attributes
Shalev Shalit 2015年

提出问题的人只想要最高
克里斯·彼得斯

1
他确实为这个问题提供了正确答案。也许这不是最好的答案,但是他没有做错任何事情。
david0116 '19
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.