SQLite多行到一个字符串

时间:2016-01-10 15:35:12

标签: ruby sqlite

我正在使用Ruby sqlite3 gem访问SQLite数据库。

我有一张表如:

id | ip      | nick
1  | 1.2.3.4 | abc
2  | 1.2.3.4 | def
3  | 1.2.3.4 | ghi
4  | 1.2.3.4 | jkl
5  | 1.2.3.4 | mno

和查询如:

SELECT nick FROM table WHERE ip = '1.2.3.4'

但是我希望返回一行,并按字母顺序排列该IP地址的所有缺口:

nicks = ["abc", "def", "ghi", "jkl", "mto"]

实现它的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

假设表名test,您可以执行以下任一操作:

nicks = db.execute( "select nick from test" ).flatten

nicks = db.execute( "select nick from test" ).each_with_object([]) do |row, obj|
    obj << row[0]
end