这类似于我之前位于此处的问题。在 SQL(使用 ActiveRecord)中有什么方法可以使用 LIKE 运算符对关系进行排序吗?例如,我正在查询一个关系,其中一列是一个长字符串,通常包含许多逗号分隔值。我想通过将上述列的值与使用 LIKE 的较小字符串匹配的记录排序到前面来排序结果关系(例如,如果我的变量是“西班牙”,那么我想要一个值类似于“爱尔兰,西班牙、法国”被命令排在关系的前面)。
我用类似的东西在活动记录中尝试了这个MyModel.order("country_preferences LIKE ?", country)
,但是得到了一个 SQL 错误。执行这种排序的正确方法是什么?
更新(摘自评论):
使用 PostgreSQL 9.1。当前的 SQL 错误:http: //pastie.org/8037147。
5 条记录 country_preference = "爱尔兰、西班牙、法国",5 条记录 country_preference = "爱尔兰、德国、法国"。给定一个特定的国家,想要返回一个关系,其中 country_preferences 字符串包含该国家的记录被排在前面。