ruby-on-rails - 如何使用 Ruby on Rails 查找列中最长的字符串?

标签 ruby-on-rails ruby ruby-on-rails-3

<分区>

在 Ruby 中从 X 列中找到最长 字符串的最有效方法是什么?

更新:

这也有点效果:

def self.length_of_longest_number
  Invoice.order("LENGTH(number) DESC").first.number.length
end

只是想知道它是否有效。如果它在 MySQL Postgres 中工作...

最佳答案

使用 MySql:

# Change your model name and field to your needs
Participant.order("MAX(CHAR_LENGTH(first_name)) desc").limit(1)

# works too:
Participant.order("MAX(CHAR_LENGTH(first_name)) desc").first

# and this is the most efficient to get the field directly:
Participant.limit(1).order("MAX(CHAR_LENGTH(first_name)) desc").pluck(:first_name)

使用 postgres:

Participants.limit(1).order("MAX(CHAR_LENGTH(name)) desc").group("id").pluck(:name)

关于ruby-on-rails - 如何使用 Ruby on Rails 查找列中最长的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18878653/

相关文章:

ruby-on-rails - 在Haml::Engine中使用Rails View 助手

javascript - 从 Rails 3 中的 View 调用 javascript 函数

ruby-on-rails - 使用 Twitter Bootstrap 和 Simple Form 2.0 在一行中进行多个输入

ruby - 如何将字符串转换为数组数组?

ruby-on-rails - Rails 引擎 : shared asset dependencies

ruby-on-rails - rails,为新路由添加一个参数

ruby-on-rails - Ruby 仅用另一个字符串替换完全匹配的字符串

ruby - 如何检查一个值是否是 Integer()、Float() 或 Rational() 的有效输入?

ruby-on-rails - 使用 https 保护 Rails API

ruby-on-rails - 最佳Ruby on Rails WebSocket工具