Subject: Re: Is this kind of ORDER BY possible? 2007-11-05 - By Baron Schwartz
Back Christoph,
Christoph Boget wrote: > Let's say that I have the following dataset after an INNER JOIN query: > > UserName | InventoryItem | InventoryAmount > -- ----- | -- ---- ----- | -- ---- ---- -- > Joe | Hammer | 2 > Joe | Nails | 7 > Joe | Screws | 9 > Bob | Hammer | 1 > Bob | Hand Saw | 2 > Bob | Power Saw | 1 > Briggs | Hammer | 4 > Briggs | Screwdriver | 1 > Briggs | Wrench | 3 > > > Is it possible to order by InventoryAmount but only when InventoryItem has a > particular value? Say, "Hammer"? So that after the sort, the dataset looks > like this: > > UserName | InventoryItem | InventoryAmount > -- ----- | -- ---- ----- | -- ---- ---- -- > Bob | Hammer | 1 > Bob | Hand Saw | 2 > Bob | Power Saw | 1 > Joe | Hammer | 2 > Joe | Nails | 7 > Joe | Screws | 9 > Briggs | Hammer | 4 > Briggs | Screwdriver | 1 > Briggs | Wrench | 3
I'm not sure exactly what you want, but I think you want all 'Hammer' to come first, then after that, other rows within the group to be ordered by InventoryAmount.
Try this:
ORDER BY IF(InventoryItem='Hammer', 0, 1), InventoryAmount
-- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/mysql?unsub=mysql@(protected)
|
|