It takes two steps: first determine the max(closedate) for each symbol, then use those results to get the name field. You could do this with a subquery (both steps in the one statement) because you are using a version of MySQL > 4.0.0 but here is a temp table implementation that will work with just about anyone.
CREATE TEMPORARY TABLE tmpSymbols SELECT symbol, max(close_date) as last_date FROM TD WHERE symbol in (<list of symbols>) GROUP BY symbol; SELECT ts.symbol, ts.last_date, TD.name FROM tmpSymbols ts INNER JOIN TD ON TD.symbol = ts.symbol AND TD.close_date = ts.last_date; Shawn Green Database Administrator Unimin Corporation - Spruce Pine Jeff Mathis <[EMAIL PROTECTED]> wrote on 10/14/2004 02:22:32 PM: > hello query gurus. > > we have a table TD with the following columns: > > close_date > symbol > name > > close_date is just a date field > > there is a unique constraint on the combination of close_date and symbol. > > what we want is the value for the name field corresponding to the row > with the most recent close_date. > > something like this: > > select max(close_date), symbol, name from TD where symbol in (<list of > characters>) group by symbol; > > this returns the max close_date value, but the name that is returned is > garbage and seems to point to the earliest row in the table. > > any suggestions? > > jeff > > ps we're using mysql 4.1.3 with the innodb engine > > > -- > Jeff Mathis, Ph.D. 505-955-1434 > Prediction Company [EMAIL PROTECTED] > 525 Camino de los Marquez, Ste 6 http://www.predict.com > Santa Fe, NM 87505 > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] >