Mailing List
Home
Forum Home
MySQL General - General MySQL discussion
MySQL++ - Programming with the C++ API to MySQL
MaxDB - Everything about MaxDB, formerly known as SAP DB
ODBC - ODBC with the MySQL Connector/ODBC driver
MySQL on Win32 - Runing MySQL on Windows 9x/Me/NT/2000/XP
Java Help - Mostly related to the MySQL Connector/J driver
Perl - Perl support for MySQL with DBI and DBD::mysql
GUI - MySQL GUI Tools
Announcement
Subjects
Subject: mysql openssl Question
ERROR 1045: Access denied for user: 'root@localhost ' (Using
password: NO)
Update one field with more fields from another table
Subject: Getting Identity after INSERT
ERROR 2002: Can 't connect to local MySQL server through socket
mysql test 4 1 fails with the gis test
Subject: MySQL Cluster Software
Downgrade Mysql from 4 to 3 23
Mysql 4 0 Oracle Stored Procedure Trigger Conversion
Can 't access mysql after kernel upgrade
Executing MySQL Commands From Within C Program
Comparing and writing out BLOBS
Subject: Re: Preventing Duplicate Entries
FULLTEXT query format question
Strange behavior, Table Level Permission
Does the binary log enabling affect the MySQL performances?
mysql:it 's a db not a dbms how it 's possible?!
mysql have same function mthod as Oracle decode()
 
Subject: Re: Is this kind of ORDER BY possible?

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)