Basic Q's: Numerical Sorting
I have a fairly basic question: How do I sort numerically? Normally when I query using ORDER BY (field), it orders by the first digit (i.e. 1, 10, 2, 21, 3, 32) rather than by number (1, 2, 3, 10, 21, 32). Thanks for any help Dave __ Do You Yahoo!? Sign up for SBC Yahoo! Dial - First Month Free http://sbc.yahoo.com - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: Basic Q's: Numerical Sorting
It looks like your field is a text field rather than BIGINT or some numerical field. Changing the field type should solve your problem. Serge. - Original Message - From: CVIOG at UGA [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Tuesday, July 09, 2002 4:22 PM Subject: Basic Q's: Numerical Sorting I have a fairly basic question: How do I sort numerically? Normally when I query using ORDER BY (field), it orders by the first digit (i.e. 1, 10, 2, 21, 3, 32) rather than by number (1, 2, 3, 10, 21, 32). Thanks for any help Dave __ Do You Yahoo!? Sign up for SBC Yahoo! Dial - First Month Free http://sbc.yahoo.com - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
RE: Basic Q's: Numerical Sorting
Here is the solution I posted about t months ago. I would also add, this solution can handle both text and numbers in the same field...: my boss figured out a nice solution to this ORDER BY IF(ABS(Item) 0,LPAD(Item,9,'0'),Item) This will pad numbers ( ok it might not do so hot with DECIMAL, but it can be fixed to work I supposed) with 0 So it should sort 1 2 00010 00022 00050 00230 instead of 1 10 2 22 230 50 And it will skip padding text cause I guess the ABS of text is 0, and the numbers and words will appear separated from each other My boss is smart :) -Original Message- From: CVIOG at UGA [mailto:[EMAIL PROTECTED]] Sent: Tuesday, July 09, 2002 4:22 PM To: [EMAIL PROTECTED] Subject: Basic Q's: Numerical Sorting I have a fairly basic question: How do I sort numerically? Normally when I query using ORDER BY (field), it orders by the first digit (i.e. 1, 10, 2, 21, 3, 32) rather than by number (1, 2, 3, 10, 21, 32). Thanks for any help Dave - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php
Re: Basic Q's: Numerical Sorting
In the last episode (Jul 09), CVIOG at UGA said: I have a fairly basic question: How do I sort numerically? Normally when I query using ORDER BY (field), it orders by the first digit (i.e. 1, 10, 2, 21, 3, 32) rather than by number (1, 2, 3, 10, 21, 32). Either alter the table to make that field an INTEGER column, or ORDER BY field+0 to force mysql to internally convert the field to a number before sorting. -- Dan Nelson [EMAIL PROTECTED] - Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive) To request this thread, e-mail [EMAIL PROTECTED] To unsubscribe, e-mail [EMAIL PROTECTED] Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php