Hatena::Diary::Neko::kak 500 Internal Server Error – countしたものにorder by
http://en.yummy.stripper.jp/?eid=448071
DBICではたぶん発行するSQLのカラムに別名をつけられないみたいなので
スカラーリファレンスでしかたないんじゃないすかね。
同じことで悩んだ時期もありましたが、いろいろ試してみた結果 order by 句に count(hoge) そのものを指定できることがわかりました。(少なくとも MySQL と SQLite で動作確認済み)
$rs = $schema->search( {}, { select => [ 'link', { count => 'entry' } ], group_by => [qw/ link /], order_by => 'count(link) DESC', page => $page, rows => $rows_per_page } );
そんなの知るわけないじゃんと思ってたらやはり SQL92 の仕様的には order by 句には sort_key が、そして sort_key は column_name か unsigned_integer となるので order by count(hoge) は問題みたいですが、SQL99 以降ではなんやかんやで order by count(hoge) でも問題ないのですね。へぇー。