When I say "standard" I mean I saw an example on Google :-). I'll go with your suggestion. Thanks for the prompt replies!
Also thanks for moving forward the Ruby Time library forward. On Feb 16, 7:09 pm, Jeremy Evans <[email protected]> wrote: > On Feb 16, 2:48 pm, Jason Thomas <[email protected]> wrote: > > > Works but results in two queries. A standard query would be: > > > SELECT date, min(value) as value from data_table > > That's not standard SQL, though some databases may allow it. In > standard SQL, when using an aggregate function, all non-aggregate > columns must be grouped by. You can't just group by the date, as that > is not the type of query you want to do. You want the row where the > value is the minimum value, which would usually be done via a subquery > in standard SQL. > > If that's the query you want: > > DB[:data_table].select{[date, min(value).as(value)]} > > The standard SQL way to do what you want is: > > SELECT date, value FROM data_table WHERE value = (SELECT min(value) > FROM data_table) > > Which in Sequel is: > > DB[:data_table].filter(:value=>DB[:data_table].select{min(value)}) > > If multiple rows have the minimum value, you'll get multiple records, > but there are ways to deal with that. > > Jeremy -- You received this message because you are subscribed to the Google Groups "sequel-talk" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/sequel-talk?hl=en.
