What I want to do is SELECT only the most recent dateTime and critterXYZ for
each critterName and return one row for each unique critterName.

For examples & discussion see "Within-group aggregates" at http://localhost/artful/infotree/queries.php.

PB

-----

Fish Kungfu wrote:
I have a dataset like this:

+------------+------------------------+----------------------------------+---------------------+
|    regionName    |    critterName    |    critterXYZ    |    dateTime
|
+------------+------------------------+----------------------------------+---------------------+
|    yard    |    mouse    |    <147.94594, 206.72768, 58.80204>    |
2008-12-2600:23:16    |
|    yard    |    mouse    |    <173.55687, 209.21608, 58.80544>    |
2008-12-2600:24:16    |
|    yard    |    mouse    |    <96.77573, 127.38607, 44.53227>    |
2008-12-2600:40:19    |
|    yard    |    mouse    |    <105.78719, 93.31913, 42.96943>    |
2008-12-2600:40:30    |
|    yard    |    mouse    |    <105.78719, 93.31913, 42.96976>    |
2008-12-2600:40:57    |
|    yard    |    mouse    |    <108.89838, 64.90623, 42.96977>    |
2008-12-2600:41:57    |
|    yard    |    mouse    |    <121.04697, 70.54140, 76.25817>    |
2008-12-2600:42:16    |
|    yard    |    mouse    |    <121.04697, 70.54140, 62.62100>    |
2008-12-2600:42:30    |
|    yard    |    cat    |    <71.00000, 27.00000, 43.01170>    |
2008-12-2601:06:30    |
|    yard    |    dog    |    <219.57300, 84.17950, 60.26318>    |
2008-12-2601:06:37    |
|    yard    |    cat    |    <73.91701, 29.62952, 43.01169>    |
2008-12-2601:07:30    |
|    yard    |    dog    |    <73.60881, 31.26160, 43.08546>    |
2008-12-2601:07:30    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:08:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:08:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:08:57    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:08:57    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:09:30    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:09:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:09:57    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:09:57    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:10:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:10:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:10:57    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:10:58    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:11:30    |
|    yard    |    cat    |    <109.53104, 22.43899, 43.12498>    |
2008-12-2601:11:30    |
|    yard    |    cat    |    <109.55525, 22.47036, 43.12509>    |
2008-12-2601:11:57    |
|    yard    |    dog    |    <108.08045, 23.84270, 43.15333>    |
2008-12-2601:11:58    |
|    yard    |    cat    |    <109.90359, 22.44845, 43.47617>    |
2008-12-2601:12:30    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.38527>    |
2008-12-2601:12:30    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:12:57    |
|    yard    |    cat    |    <109.83472, 22.45278, 43.29317>    |
2008-12-2601:12:58    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:13:30    |
|    yard    |    cat    |    <109.83472, 22.45278, 43.29317>    |
2008-12-2601:13:30    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:13:57    |
|    yard    |    cat    |    <109.83472, 22.45278, 43.29317>    |
2008-12-2601:13:58    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:14:30    |
|    yard    |    cat    |    <109.83472, 22.45278, 43.29317>    |
2008-12-2601:14:30    |
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:14:57    |
*************************************************************************************

What I want to do is SELECT only the most recent dateTime and critterXYZ for
each critterName and return one row for each unique critterName.

So far I have this SELECT statement:

mysql> SELECT regionName,critterName,critterXYZ,MAX(dateTime) FROM
critterTrackerMain WHERE dateTime LIKE CONCAT(DATE(NOW()),'%') GROUP BY
critterName ORDER BY critterName ASC;

Which returns the most recent dateTime, but it's returning the first
critterXYZ, not the most recent:

+------------+------------------------+----------------------------------+---------------------+
|    regionName    |    critterName    |    critterXYZ    |
MAX(dateTime)    |
+------------+------------------------+----------------------------------+---------------------+
|    yard    |    dog    |    <219.57300, 84.17950, 60.26318>    |
2008-12-2601:14:57    |
|    yard    |    cat    |    <71.00000, 27.00000, 43.01170>    |
2008-12-2613:08:01    |
|    yard    |    mouse    |    <147.94594, 206.72768, 58.80204>    |
2008-12-2600:42:30    |
+------------+------------------------+----------------------------------+---------------------+


This is what I want the SELECT to return but it's not working.

+------------+------------------------+----------------------------------+---------------------+
|    regionName    |    critterName    |    critterXYZ    |
MAX(dateTime)    |
+------------+------------------------+----------------------------------+---------------------+
|    yard    |    dog    |    <110.05429, 22.43897, 43.31427>    |
2008-12-2601:14:57    |
|    yard    |    cat    |    <109.83472, 22.45278, 43.29317>    |
2008-12-2601:14:30    |
|    yard    |    mouse    |    <121.04697, 70.54140, 62.62100>    |
2008-12-2600:46:16    |
+------------+------------------------+----------------------------------+---------------------+

Any advice would be greatly appreciated.


Cheers....Fish

------------------------------------------------------------------------


Internal Virus Database is out of date.
Checked by AVG - http://www.avg.com Version: 8.0.176 / Virus Database: 270.9.19/1853 - Release Date: 12/17/2008 8:31 AM

Reply via email to