in reply to MySQL query question...

Why would you want to solve that problem in SQL?

If you are already using Perl, modules such as Date::Calc and more in particular Date::Calc::Iterator seems so much more appropriate to solve this problem.

CountZero

"If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law

Replies are listed 'Best First'.
Re^2: MySQL query question...
by hatter (Pilgrim) on Aug 12, 2005 at 09:37 UTC
    Perhaps because doing it in SQL, you can take advantage of the indexes and groupings the database provides, rather than having to fetch the whole set and then discard data in your script ? For instance, there's 1000 matches for any day within the range, however you want to display them 25 items at a time - do you fetch 1000 items each time, throwing away an unknown amount of records to find the first 25, then do the same on the second page request for the next 25 ? Or would it be more elegant to just ask the database 'records 26-50 matching these criteria, please ?' ?


    the hatter
      I would say that by using the module Date::Calc::Iterator you are more efficient as you iterate through the set of dates you want and not make a list of all dates and then discard most of them.

      Also you don't have to pollute your database with a table of all dates in the range you want.

      CountZero

      "If you have four groups working on a compiler, you'll get a 4-pass compiler." - Conway's Law