1

AREL / Rails計算を使用して、次のことを実行しようとしています:

SELECT to_char(timestamp, 'YYYY-MM-DD') AS segment, COUNT(*) AS counter 
FROM pages
GROUP BY segment
ORDER BY segment

次のようなものを実行できます:

Page.order(FIELD).count(group: FIELD) 
{ a: 1, b: 4, c: 1 }

ただし、計算フィールド全体でこれを機能させることはできません。何かご意見は?

4

1 に答える 1

0

これを思いついた:

Page.count(:all, from: "(SELECT to_char(#{SEGMENT}, 'YYYY-MM-DD')  AS segment FROM pages) AS pages", group: "segment", order: "segment")
> SELECT COUNT(*) AS count_all, segment AS segment FROM (SELECT to_char(created_at, 'YYYY-MM-DD') AS segment FROM pages) AS pages GROUP BY segment ORDER BY segment
于 2013-02-15T22:43:08.753 に答える