kalin mintchev wrote:
 hi all...

 i have an issue with group by and ordering. apparently group by ignores
'order by id DESC'?!

 an example is a table that has an id and a category fields. there are a
few categories under which records can be filed. so what i want is the
latest record from each category by doing something like:

select id, name from table group by category order by id DESC;

this doesn;t work - it shows me the first record under each category - not
the latest as specified by DESC?! something is wrong.

i tried 'distinct' but that 'distincts' on all fields in the query?!?! whats the point of distinct if it can not distincts between fields?! in:

select distinct category, id, name from table order by id DESC;

this query distincts on all category, id and name when it should distinct
only on category....

how do i do that without temporary tables?

You misunderstand group by & distinct and what they do.

If you have some records:

name - chris
name - mary
name - fred
name - chris

and run something like this:

select name, count(*) from table group by name;

it will return:
chris -> 2
mary -> 1
fred -> 1

*then* if you have an order by mysql will order the results that are returned by that query:

select name, count(*) from table group by name order by name desc;

it will return:
mary -> 1
fred -> 1
chris -> 2


Basically you can't do what you want either without temporary tables or using a subselect. Subselects are only available in mysql 4.1+ (I think - check the docs) so that may or may not be an option.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to