How about something like

select account,customer,max(total) from (select
account,customer,sum(sale_amount) as total from <tablename> group by
customer) as y group by account;

Seems to work in my test case..

Regards

Phil



On Tue, Jan 6, 2009 at 3:13 PM, Jerry Schwartz
<jschwa...@the-infoshop.com>wrote:

> Here's a bit of business that is baffling me, and probably shouldn't. My
> table looks like this:
>
>
>
> account
>
> customer
>
> sale_amount
>
>
>
> Each account has multiple customers, and each customer has multiple sales.
> I
> want to get the top 20 customers for each account.
>
>
>
> If I simply do "GROUP BY account, customer LIMIT 20", I'll get the first 20
> customers for the first account. If I try "GROUP BY account, customer ORDER
> BY SUM(sale_amount) DESC LIMIT 20", I'll get the top 20 customers.
>
>
>
> What am I missing?
>
>
>
> Regards,
>
>
>
> Jerry Schwartz
>
> The Infoshop by Global Information Incorporated
>
> 195 Farmington Ave.
>
> Farmington, CT 06032
>
>
>
> 860.674.8796 / FAX: 860.674.8341
>
>
>
>  <http://www.the-infoshop.com> www.the-infoshop.com
>
>  <http://www.giiexpress.com> www.giiexpress.com
>
> www.etudes-marche.com
>
>
>
>


-- 
Distributed Computing stats
http://stats.free-dc.org

Reply via email to