I'm stumped on this one... 

I have a table defined thusly: 

create table items ( 
id serial, 
category integer not null references category(id), 
name varchar not null, 
price real, 
unique(category, name)); 

It has a LARGE number of entries. I'd like to grab the 10 most expensive items 
from each category in a single query. How can this be done? Something like 

Select items.* 
FROM items 
where id IN (
        select firstTen(id) FROM items 
        group by category
        ORDER BY price DESC
        ) 
ORDER BY price desc; 

But I've not found any incantation to make this idea work... 

-Ben 
-- 
"The best way to predict the future is to invent it."
- XEROX PARC slogan, circa 1978

---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
       subscribe-nomail command to [EMAIL PROTECTED] so that your
       message can get through to the mailing list cleanly

Reply via email to