获取名称的不同首字母列表

时间:2013-04-14 03:34:05

标签: ruby-on-rails activerecord

环境:Rails 3.2.13,开发中的SQLite和生产中的PostgreSQL

使用Active Record,我正在尝试从DB中的所有名字中获取唯一的首字母列表。例如,如果我有名字(亚历克斯,比利,鲍勃,戴夫,杰克,詹姆斯,仁,萨姆,史蒂夫,斯图尔特,维克多),我正试图得到这些字母(A,B,D,J,S,V) )来自DB。

我已经能够进入Rails数据库控制台并查询SQLite并获得我想要的内容:

SELECT DISTINCT SUBSTR(last_name,1,1) FROM people ORDER BY last_name;

但是无法让它在Rails中运行。

1 个答案:

答案 0 :(得分:2)

你可以使用,例如

User.all.map{|u| u.name[0]}.uniq

但这是在记忆中。如果需要在SQL中执行此操作,可以使用find_by_sql