MySQL Order by Two Columns
database, mysql, sql
Solution
Try this
Select * from Products ORDER BY Featured, Priority
If you use ORDER BY on mysql enum it will not order it by alphabetically but it will order it by its position in enum.
If you want to order alphabetically as you describe cast the enum name to a string like this
Select * from Products ORDER BY concat(Featured) desc , Priority
Problem
I have a Table Like Below ``` CREATE TABLE Products(Product_id INT, ProductName VARCHAR(255), Featured enum('Yes', 'No'), Priority enum('p1', 'p2', 'p3')) INSERT INTO Products(ProductName, Featured, Priority) VALUES('Product A', 'Yes', 'p1'), ('Product B', 'No', 'p2'), ('Product C', 'Yes', 'p1'), ('Product D', 'No', 'p1'), ('Product E', 'Yes', 'p3'), ('Product F', 'No', 'p2'), ('Product G', 'Yes', 'p1'), ('Product H', 'Yes', 'p2'), ('Product I', 'No', 'p2'), ('Product J', 'Yes', 'p3'), ('Product K', 'Yes', 'p1'), ('Product L', 'No', 'p3'); ``` I Need to get the Featured products followed by product with priority p1, p2 and p3 ``` Op: ProdName | Featured | Priority Product A Yes p1 Product C Yes p1 Product G Yes p1 Product K Yes p1 Product H Yes p2 Product E Yes p3 Product J Yes p3 Product D No p1 Product B No p2 Product F No p2 Product I No p2 Product L No p3 ``` I Wrote a query below which ain't working.. ``` SELECT * FROM Products ORDER BY Featured IN ('Yes') desc, Priority IN ('p1', 'p2', 'p3') desc ``` Could u plz spot mistake in that