In the last episode (Jan 06), Ashley M. Kirchner said: > > This is a continuation of something I started with a few weeks ago. > So, here's the previous information again: > > +------------+-----------------------+------+-----+-------------------+----------------+ > > | Field | Type | Null | Key | Default | > Extra | > +------------+-----------------------+------+-----+-------------------+----------------+ > > | uid | mediumint(8) unsigned | NO | PRI | NULL | > auto_increment| > | temp_f | float(4,1) | YES | | NULL | > | > | temp_c | float(4,1) | YES | | NULL | > | > | windchill | float(4,1) | YES | | NULL | > | > | dewpoint | float(4,1) | YES | | NULL | > | > | time | timestamp | NO | | CURRENT_TIMESTAMP | > | > +------------+-----------------------+------+-----+-------------------+----------------+ > > > This table gets information every minute. And for a '24 hour' > graph, I perform the following select: > > select day(time) as the_day, > hour(time) as the_hour, > avg(temp_f) as avg_temp_f, > avg(temp_c) as avg_temp_f, > avg(windchill) as avg_windchill, > avg(dewpoint) as avg_dewpoint > from data > where time > now() - interval 24 hour > group by the_day, the_hour; > > And this returns the data I need. However, I'd like a finer grain > select, if possible. For example, instead of it averaging each 60 > minute period, I'd like an average per 15 minute. So that I get 4 data > points returned per hour, instead of just one.
select from_unixtime(floor(unix_timestamp(time)/900)*900) as range_start, avg(temp_f) as avg_temp_f, avg(temp_c) as avg_temp_f, avg(windchill) as avg_windchill, avg(dewpoint) as avg_dewpoint from data where time > now() - interval 24 hour group by floor(unix_timestamp(time)/900) should do the trick. Actually a TIME_GROUP(timestamp, interval) function would be really handy for stuff like this: GROUP BY TIME_GROUP(time, interval 15 minute). -- Dan Nelson [EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]