KenHorse Posted August 21, 2020 Share Posted August 21, 2020 I am reading in a table and ordering it by a column labeled "sub" and generating an HTML table. The "sub" column entries are in numerical order (i.e. 1 2 3 4 5 6 7 8 10 11 12 etc. etc.). There are over 100 entries in this table as well. The problem I'm facing is probably obvious to some of you as the display is 1 10 100 101 102 103 105 11 12 13 14 15 16 17 18 19 2 20 and so on... Obviously I'd like the display to be in numerical order. What can I do? Quote Link to comment https://forums.phpfreaks.com/topic/311365-mysql-ordering-when-reading-in-a-table/ Share on other sites More sharing options...
requinix Posted August 21, 2020 Share Posted August 21, 2020 Alter the column so that it uses a numeric data type instead of a string data type. Quote Link to comment https://forums.phpfreaks.com/topic/311365-mysql-ordering-when-reading-in-a-table/#findComment-1580845 Share on other sites More sharing options...
KenHorse Posted August 21, 2020 Author Share Posted August 21, 2020 Perfect, thank you! Quote Link to comment https://forums.phpfreaks.com/topic/311365-mysql-ordering-when-reading-in-a-table/#findComment-1580849 Share on other sites More sharing options...
Phi11W Posted August 24, 2020 Share Posted August 24, 2020 On 8/21/2020 at 5:33 PM, KenHorse said: The "sub" column entries are in numerical order (i.e. 1 2 3 4 5 6 7 8 10 11 12 etc. etc.). One of the [Unwritten] Rules of Relational Databases: Rows in a Table have no intrinsic order. The only way to guarantee the order is to use the "order by" clause on your select statements. select sub, ... from table1 order by sub ; As Requinix quite rightly said - store numeric data values in a fields with a numeric Data Type. Regards, Phill W. Quote Link to comment https://forums.phpfreaks.com/topic/311365-mysql-ordering-when-reading-in-a-table/#findComment-1580923 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.