# Find :select sort on calculated value

**URL:** <https://www.ruby-forum.com/t/find-select-sort-on-calculated-value/118792>\
**Category:** Rails\
**Created:** [October 30, 2007, 11:58pm UTC](https://www.ruby-forum.com/t/find-select-sort-on-calculated-value/118792 "2007-10-30T23:58:04Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [October 30, 2007, 11:58pm UTC](https://www.ruby-forum.com/t/find-select-sort-on-calculated-value/118792/1 "2007-10-30T23:58:04Z")

</div>

I have a table ‘posts’ , each record has 2 fields ‘post\_count’ and  
‘post\_value’

I would like to find all records, sorted on the calculated ratio value:  
‘post\_value’ / ‘post\_count’

I am using MySQL 5 so I could use a stored procedure, but how can I sort  
on the calculated value ,

can I write something like :

Post.find( :all, :select =\> [‘post\_count’, ‘post\_value’,  
?calculated\_value?], :order =\> ?calculated\_value?)

thanks for your suggestions

kad

---

<div class="post-metadata">

**Author:** ![kadoudal](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/f0a364/32.png) [@kadoudal](https://www.ruby-forum.com/u/kadoudal)\
**Post date:** [October 31, 2007, 12:57am UTC](https://www.ruby-forum.com/t/find-select-sort-on-calculated-value/118792/2 "2007-10-31T00:57:23Z")

</div>

On Oct 30, 2007, at 6:58 PM, Kad K. wrote:

> can I write something like :
> 
> Post.find( :all, :select =\> [‘post\_count’, ‘post\_value’,  
> ?calculated\_value?], :order =\> ?calculated\_value?)
> 
> thanks for your suggestions
> 
> kad

Yes, almost exactly like that:

Post.find(:all, :order =\> ‘post\_value/post\_count’)

-Rob

Rob B. [http://agileconsultingllc.com](http://agileconsultingllc.com)  
removed\_email\_address@domain.invalid
