浏览 48 次
|
该帖已经被评为新手帖
|
|
|---|---|
| 作者 | 正文 |
|
时间:2008-07-25
我的Model Bank中有3个字段:money,bank_name,save_year,现在需要根据bank_name,save_year分组来取得相应的money总数,使用AR中的sum来实现: Bank.sum(:money,:group=>'bank_name,save_year') 但是结果只返回两列:money和save_year,如果把group中的两个字段换个位置: Bank.sum(:money,:group=>'save_year,bank_name') 结果仍然为两列,但有点出入:money和bank_name。
查看了AR的相关源码,sum返回的结果是一个hash,也就是说返回结果只能为两个字段,不能返回我需要的sum_money,bank_name和save_year。 group sum这种情况很多时候都不只是用到一个字段来group吧,AR应该有相应的解决方案,但是我找了很久没有找到,不知道怎样才能够实现我的需求。当然使用SQL可以实现,但实际应用中这个查询涉及到几个表的关联,如果写原始SQL,会有一大堆join,很麻烦,而且代码移植到别的数据库时不知道会不会出问题,AR+一大堆原始SQL的实现方式比较难看,有没有别的方式实现? 声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
|
|
| 返回顶楼 | |


