Hatena::Grouprubyist

Rubyを勉強しようと思ってはじめた日記

2008-05-07

SQLで集計してランキングを出す(0.51)ActiveRecordでSQLを実行する

| 00:03 | SQLで集計してランキングを出す(0.51)ActiveRecordでSQLを実行する - Rubyを勉強しようと思ってはじめた日記 を含むブックマーク はてなブックマーク - SQLで集計してランキングを出す(0.51)ActiveRecordでSQLを実行する - Rubyを勉強しようと思ってはじめた日記 SQLで集計してランキングを出す(0.51)ActiveRecordでSQLを実行する - Rubyを勉強しようと思ってはじめた日記 のブックマークコメント

あっさり出来た!と思っていました。でも、合計数を表示することが出来ません。SQLを直接実行すると取得は出来ています。MySQLcount関数を良く見てみると、asというのが気になります。どうやら合計した数をasで指定したカラム名で表示できるようです!というわけで、改めてやってみました。

sqlstring = 'select url,count(*) as count from entry GROUP BY url HAVING url REGEXP \'\.php|^/$|\.html\' ORDER BY count(*) DESC limit 0,10;'
entrys    = Entrys.find_by_sql(sqlstring)

なんだかやっていることが、DBについて時間を費やしている気がします...。

カレンダー
2007 | 12 |
2008 | 01 | 02 | 03 | 04 | 05 | 06 | 07 | 09 | 10 | 11 | 12 |
2009 | 06 | 08 |