Maximum-per-group problem for this table
mysql>
mysql>
mysql> CREATE TABLE mytable
-> (
-> rec_id INT UNSIGNED NOT NULL AUTO_INCREMENT,
-> name VARCHAR(20) NOT NULL,
-> trav_date DATE NOT NULL,
-> miles INT NOT NULL,
-> PRIMARY KEY (rec_id)
-> );
Query OK, 0 rows affected (0.00 sec)
mysql>
mysql> INSERT INTO mytable (name,trav_date,miles)
-> VALUES
-> ('Ben','2010-11-30',152),
-> ('Suzi','2010-11-29',391),
-> ('Henry','2010-11-29',300),
-> ('Henry','2010-11-27',96),
-> ('Ben','2010-11-29',131),
-> ('Henry','2010-11-26',115),
-> ('Suzi','2010-12-02',502),
-> ('Henry','2010-12-01',197),
-> ('Ben','2010-12-02',79),
-> ('Henry','2010-11-30',203)
-> ;
Query OK, 10 rows affected (0.00 sec)
Records: 10 Duplicates: 0 Warnings: 0
mysql>
mysql>
mysql> CREATE TABLE tmp
-> SELECT name, MAX(trav_date) AS trav_date
-> FROM mytable GROUP BY name;
Query OK, 3 rows affected (0.01 sec)
Records: 3 Duplicates: 0 Warnings: 0
mysql>
mysql> SELECT mytable.name, mytable.trav_date, mytable.miles
-> FROM mytable, tmp
-> WHERE mytable.name = tmp.name
-> AND mytable.trav_date = tmp.trav_date
-> ORDER BY mytable.name;
+-------+------------+-------+
| name | trav_date | miles |
+-------+------------+-------+
| Ben | 2010-12-02 | 79 |
| Henry | 2010-12-01 | 197 |
| Suzi | 2010-12-02 | 502 |
+-------+------------+-------+
3 rows in set (0.00 sec)
mysql>
mysql> drop table mytable;
Query OK, 0 rows affected (0.00 sec)
mysql> drop table tmp;
Query OK, 0 rows affected (0.00 sec)
mysql>
Related examples in the same category