ether Posted July 9, 2007 Share Posted July 9, 2007 SELECT f.`frid` , f.`order` , f.`friendId` , u.`usLogin` FROM `friends` AS f LEFT JOIN `users` AS u ON f.`friendId` = u.`usId` WHERE f.`usId` = '5' ORDER BY f.`order` ASC LIMIT 0 , 30 This returns everything correctly, however. The field that I'm ordering by, `order`, has a NULL value by default so it brings ALL of the NULL values first, and then orders ASC on `order`. e.g. NULL NULL NULL 1 2 3 I know I can add to my WHERE clause with something like "AND `order` != NULL" but I _want_ records with a NULL value to show up, but just to be sorted to the bottom of the list when ORDERing BY. So really I want the ORDERing to start with '1'... I'm pretty sure I can use a PHP function, but I just cant seem to figure out which and I'd prefer to do it with SQL if possible. Thanks! Link to comment https://forums.phpfreaks.com/topic/59143-solved-order-by-starting-from-1/ Share on other sites More sharing options...
Wildbug Posted July 9, 2007 Share Posted July 9, 2007 There's a solution somewhere in the MySQL manual user comments. It's something to the effect of using "... ORDER BY -order DESC" and will put the NULLs at the bottom of an ascending list. Link to comment https://forums.phpfreaks.com/topic/59143-solved-order-by-starting-from-1/#findComment-293766 Share on other sites More sharing options...
bubblegum.anarchy Posted July 10, 2007 Share Posted July 10, 2007 This is what I do: SELECT * FROM repository ORDER BY sort_column IS NULL, sort_column Link to comment https://forums.phpfreaks.com/topic/59143-solved-order-by-starting-from-1/#findComment-294162 Share on other sites More sharing options...
ether Posted July 10, 2007 Author Share Posted July 10, 2007 bubblegum.anarchy: Thanks! That seemed to of work Link to comment https://forums.phpfreaks.com/topic/59143-solved-order-by-starting-from-1/#findComment-294273 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.