Ok, I wanted to know if there was a way to do it with no database specific code.
Then you are right : I'll first query the result count (unknown a priori) and then use a random python generated offset. If anyone has a better idea (in 1 request only), that would be great! On 23 août, 18:34, Michael Bayer <[EMAIL PROTECTED]> wrote: > On Aug 23, 2008, at 12:10 PM, GustaV wrote: > > > > > Hi all, > > Really, you do an amazing job on that stuff, it's a pleasure to work > > with! > > > A short question though. It's possible to get a random order on > > selects in mysql using the RAND() in parameter of ORDER BY. I know > > similar (but different) was possible on others. > > What about sqlalchemy? > > The goal is to have only one result on the query, randomly. > > if the function is RAND(), you'd just say > select.order_by(func.rand()). If you're looking for just the first > result then you'd use limit/offset (the select() and Query() > constructs both support limit() and offset() methods for this). > > I'm not familiar with the "random function" of other databases but the > same techniques apply. SQLA could also could also support with a > "generic" version of this function which calls the correct rand() > function on each database, but only if very similar choices exist on > most backends. --~--~---------~--~----~------------~-------~--~----~ 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 [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/sqlalchemy?hl=en -~----------~----~----~----~------~----~------~--~---