有没有办法在RoR中运行一个查询,其结果与以下相同?Ruby on Rails中的SUBSTRING_INDEX?
SELECT SUBSTRING_INDEX(notes, ',' , 1) AS notes FROM <table> WHERE event = 'Bar'
我试过并尝试过,但substring_index部分似乎不是友好的find_by_sql函数。
更新这是我试图制作的查询的更准确的描述。
SELECT SUBSTRING_INDEX(notes, ',', 1) notes, COUNT(*) cnt FROM <table> WHERE event = 'Foo' GROUP BY SUBSTRING_INDEX(notes, ',', 1) ORDER BY COUNT(*) DESC
我接近这个电话:
Foo.where("event = 'Foo'").group('notes').order('count_all').count()
但它显然不完全正确。
为什么不使用Ruby来获取子字符串? – Mischa 2011-04-19 15:16:43
因为我试图做的实际上是按照该值对结果进行分组。我只是简化了这个例子。我将用更复杂的查询进行更新,以便您理解。 – keybored 2011-04-19 15:22:26