Hatena::Grouprubyist

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

2008-05-06

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

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

ActiveRecordSQLを実行する方法を調べていたら、ActiveRecord::Baseが「find_by_sql」というメソッドがあることがわかりました。これを使ってみると、問題なく値が取得できました。なんというあさっさり。

実行したコードの一部

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

entrys.each{|entry|
    print entry.url,'<br>'
}

参考

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