You could also use a label to avoid the repetition:
from sqlalchemy.sql import desc
meta.Session.query(m.Hit.referer, func.count(m.Hit.id).label('count'))\
          .group_by(m.Hit.referer)\
          .order_by(desc('count'))

On Mon, Jun 22, 2009 at 2:22 AM, King
Simon-NFHD78<simon.k...@motorola.com> wrote:
>
>> -----Original Message-----
>> From: sqlalchemy@googlegroups.com
>> [mailto:sqlalch...@googlegroups.com] On Behalf Of Hollister
>> Sent: 20 June 2009 02:15
>> To: sqlalchemy
>> Subject: [sqlalchemy] Re: aggregation with count and
>> webhelpers.paginate
>>
>>
>> Well, that worked great:
>>
>>     q = meta.Session.query(m.Hit.referer, func.count(m.Hit.id))\
>>         .group_by(m.Hit.referer)\
>>         .order_by(func.count(m.Hit.id).desc())
>>
>> Thanks!
>>
>> ps: Is there a better way to specify the count in the order_by?
>>
>
> If it's just that you don't like repeating yourself, you should be able
> to save the result of func.count (untested):
>
>     hit_count = func.count(m.Hit.id)
>     q = (meta.Session.query(m.Hit.referer, hit_count)
>          .group_by(m.Hit.referer)
>          .order_by(hit_count.desc())
>
>
> Simon
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to