>Description: I have a table full of pages for a church website I am developing. Each has some data (text) and a title, page id, updated (date) and created(date). I want to select a list of pages with their id and title and updated date according to when they were created (by created). When I select the id, title, and updated date and sort by created, it displays the order wrong. When I also tell it to select created, then it does it correctly. A transcript illustrating is shown below.
# here is the table scheme. Nothing extraordinary. mysql> describe pages; +------------------+------------------+------+-----+------------+----------- -----+ | Field | Type | Null | Key | Default | Extra | +------------------+------------------+------+-----+------------+----------- -----+ | pID | int(10) unsigned | | PRI | NULL | auto_increment | | title | varchar(255) | | | | | | category | int(10) unsigned | | | 0 | | | updated | date | | | 0000-00-00 | | | created | date | | | 0000-00-00 | | | body | mediumtext | | | | | | isCategory | enum('y','n') | | | n | | | openToDiscussion | enum('y','n') | | | n | | | isArchived | enum('y','n') | | | n | | | isPlainText | enum('y','n') | | | n | | +------------------+------------------+------+-----+------------+----------- -----+ 10 rows in set (0.00 sec) # here is a dump of the data for the table, excluding the actual text since that would take up too much space mysql> select pID, title, category, updated, created, isCategory, openToDiscussion, isArchived, isPlainText from pages; +-----+-----------------------------------------------------------------+--- -------+------------+------------+------------+------------------+---------- --+-------------+ | pID | title | category | updated | created | isCategory | openToDiscussion | isArchived | isPlainText | +-----+-----------------------------------------------------------------+--- -------+------------+------------+------------+------------------+---------- --+-------------+ | 13 | Passion Week - 4/10/2001 | 41 | 2001-10-22 | 2001-04-10 | n | n | n | y | | 27 | Website Information | 44 | 2001-10-15 | 2001-10-14 | n | n | n | n | | 12 | Divine sovereignty and human responsibility - 7/21/2001 | 41 | 2001-10-21 | 2001-07-21 | n | n | n | n | | 8 | __siteheader__ | 2 | 2001-10-15 | 2001-09-03 | n | n | n | n | | 10 | Welcome to NWBC | 1 | 2001-10-21 | 2001-09-16 | y | n | n | n | | 14 | Friendship with the world - 8/30/01 | 41 | 2001-10-22 | 2001-08-30 | n | n | n | n | | 15 | Escaping from Giant Despair - 8/22/01 | 41 | 2001-10-22 | 2001-08-22 | n | n | n | n | | 16 | Directions to NWBC | 44 | 2001-09-16 | 2001-09-16 | n | n | n | n | | 17 | Doctrine | 45 | 2001-10-09 | 2001-09-16 | y | n | n | n | | 18 | Information | 44 | 2001-09-16 | 2001-09-16 | y | n | n | n | | 19 | Doctrinal Statement | 45 | 2001-10-16 | 2001-09-16 | n | n | n | n | | 50 | The Fear of Death 10-17-01 | 41 | 2001-10-17 | 2001-10-17 | n | n | n | n | | 20 | Announcements | 43 | 2001-10-16 | 2001-09-16 | y | n | n | n | | 21 | A Biblical Response to Disaster | 56 | 2001-10-21 | 2001-09-16 | n | n | n | n | | 22 | 2 Sam. 7: Davids Praise to God | 48 | 2001-10-17 | 2001-09-18 | n | n | n | y | | 23 | 2 Sam. 8: The Lord is our Helper | 48 | 2001-09-18 | 2001-09-18 | n | n | n | y | | 24 | 2 Sam. 9: Unmerited covenant grace | 48 | 2001-10-15 | 2001-09-18 | n | n | n | n | | 25 | Christian Sites | 49 | 2001-10-08 | 2001-10-08 | n | n | n | n | | 26 | Full-text search | 50 | 2001-10-14 | 2001-10-14 | y | n | n | n | | 28 | Sermons | 42 | 2001-10-15 | 2001-10-14 | y | n | n | n | | 29 | I Can't But He Can 2/18/2000 | 41 | 2001-10-22 | 2001-02-18 | n | n | n | y | | 30 | The Gift of Tongues? | 46 | 2001-10-21 | 2001-10-14 | n | n | n | n | | 31 | Whosoever Will | 46 | 2001-10-21 | 2001-10-14 | n | n | n | n | | 49 | The Lord is my Shepherd 9-5-01 | 41 | 2001-10-21 | 2001-09-05 | n | n | n | n | | 33 | I Can't but He Can 2-18-00 | 41 | 2001-10-22 | 2000-02-18 | n | n | n | y | | 34 | Freewill and Common Sense 2-23-00 | 41 | 2001-10-22 | 2000-02-23 | n | n | n | y | | 35 | The Deep Joy of Jesus 3-09-00 | 41 | 2001-10-22 | 2000-03-09 | n | n | n | y | | 36 | What is an Evangelical? 3-23-00 | 41 | 2001-10-22 | 2000-03-23 | n | n | n | y | | 37 | Rejoicing in Justification 4-7-00 | 41 | 2001-10-22 | 2000-04-07 | n | n | n | y | | 38 | The Blessedness of Being Children of God 4-14-00 | 41 | 2001-10-22 | 2000-04-14 | n | n | n | y | | 39 | Resurrection Sunday: dare I call it Easter 4/23/00 | 41 | 2001-10-22 | 2000-04-23 | n | n | n | y | | 40 | Revivals and Prayer 6-1-00 | 41 | 2001-10-22 | 2000-06-01 | n | n | n | y | | 41 | Fast and Pray 6-7-00 | 41 | 2001-10-15 | 2001-10-15 | n | n | | y | | 42 | Christianity in Crisis by Hank Hannegraf 6-22-00 | 41 | 2001-10-15 | 2001-10-15 | n | n | | y | | 43 | Tasting the Lord 7-18-00 | 41 | 2001-10-15 | 2001-10-15 | n | n | | y | | 44 | Delighting in the Lord 7-26-00 | 41 | 2001-10-22 | 2000-07-26 | n | n | n | y | | 45 | Thirsting for God 8-2-00 | 41 | 2001-10-15 | 2001-10-15 | n | n | | y | | 46 | Loving God 8-18-00 | 41 | 2001-10-15 | 2001-10-15 | n | n | | y | | 47 | Green Beret Christians 8-24-00 | 41 | 2001-10-22 | 2000-08-24 | n | n | n | n | | 48 | Marathon Christianity 9-20-00 | 41 | 2001-10-21 | 2000-09-20 | n | n | n | n | | 51 | 2 Sam. 10: Stirring up Strife | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | | 52 | 2 Sam. 11:1-5 Bathsheba | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | | 53 | 2001 Sermons | 53 | 2001-10-20 | 2001-10-20 | y | n | n | n | | 54 | II Samuel | 48 | 2001-10-21 | 2001-10-20 | y | n | n | n | | 55 | 2 Sam. 11:6-27 Sin breeds more sin | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | | 56 | 2 Sam. 12:1-15 God's faithfulness to restore his sinning child | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | | 57 | 2 Sam. 12:13 Repentance and its Benefits | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | | 58 | 2 Sam. 12:13-31 Enduring God's Discipline | 48 | 2001-10-20 | 2001-10-20 | n | n | n | n | +-----+-----------------------------------------------------------------+--- -------+------------+------------+------------+------------------+---------- --+-------------+ 48 rows in set (0.00 sec) # Here is the query I am running on my website. After inspecting the table # below (how they should be ordered) you can see that the order of these is incorrect # (not by created). as for the pID <> '' -- sometimes there will be a number there # depending on the page, but not always (as in this case) it should have no effect mysql> SELECT pID, title, updated FROM pages WHERE category = '41' AND pID <> '' AND isCategory = 'n' AND isArchived = 'n' ORDER BY 'created'; +-----+---------------------------------------------------------+----------- -+ | pID | title | updated | +-----+---------------------------------------------------------+----------- -+ | 13 | Passion Week - 4/10/2001 | 2001-10-22 | | 12 | Divine sovereignty and human responsibility - 7/21/2001 | 2001-10-21 | | 14 | Friendship with the world - 8/30/01 | 2001-10-22 | | 15 | Escaping from Giant Despair - 8/22/01 | 2001-10-22 | | 50 | The Fear of Death 10-17-01 | 2001-10-17 | | 29 | I Can't But He Can 2/18/2000 | 2001-10-22 | | 49 | The Lord is my Shepherd 9-5-01 | 2001-10-21 | | 33 | I Can't but He Can 2-18-00 | 2001-10-22 | | 34 | Freewill and Common Sense 2-23-00 | 2001-10-22 | | 35 | The Deep Joy of Jesus 3-09-00 | 2001-10-22 | | 36 | What is an Evangelical? 3-23-00 | 2001-10-22 | | 37 | Rejoicing in Justification 4-7-00 | 2001-10-22 | | 38 | The Blessedness of Being Children of God 4-14-00 | 2001-10-22 | | 39 | Resurrection Sunday: dare I call it Easter 4/23/00 | 2001-10-22 | | 40 | Revivals and Prayer 6-1-00 | 2001-10-22 | | 44 | Delighting in the Lord 7-26-00 | 2001-10-22 | | 47 | Green Beret Christians 8-24-00 | 2001-10-22 | | 48 | Marathon Christianity 9-20-00 | 2001-10-21 | +-----+---------------------------------------------------------+----------- -+ 18 rows in set (0.01 sec) # Now, This query is identical to the last, except I went ahead and selected # the created field along with the others, even though I do not even need # that field. Now it displays in the correct order (according to created) mysql> SELECT pID, title, updated, created FROM pages WHERE category = '41' AND pID <> '' AND isCategory = 'n' AND isArchived = 'n' ORDER BY 'created'; +-----+---------------------------------------------------------+----------- -+------------+ | pID | title | updated | created | +-----+---------------------------------------------------------+----------- -+------------+ | 33 | I Can't but He Can 2-18-00 | 2001-10-22 | 2000-02-18 | | 34 | Freewill and Common Sense 2-23-00 | 2001-10-22 | 2000-02-23 | | 35 | The Deep Joy of Jesus 3-09-00 | 2001-10-22 | 2000-03-09 | | 36 | What is an Evangelical? 3-23-00 | 2001-10-22 | 2000-03-23 | | 37 | Rejoicing in Justification 4-7-00 | 2001-10-22 | 2000-04-07 | | 38 | The Blessedness of Being Children of God 4-14-00 | 2001-10-22 | 2000-04-14 | | 39 | Resurrection Sunday: dare I call it Easter 4/23/00 | 2001-10-22 | 2000-04-23 | | 40 | Revivals and Prayer 6-1-00 | 2001-10-22 | 2000-06-01 | | 44 | Delighting in the Lord 7-26-00 | 2001-10-22 | 2000-07-26 | | 47 | Green Beret Christians 8-24-00 | 2001-10-22 | 2000-08-24 | | 48 | Marathon Christianity 9-20-00 | 2001-10-21 | 2000-09-20 | | 29 | I Can't But He Can 2/18/2000 | 2001-10-22 | 2001-02-18 | | 13 | Passion Week - 4/10/2001 | 2001-10-22 | 2001-04-10 | | 12 | Divine sovereignty and human responsibility - 7/21/2001 | 2001-10-21 | 2001-07-21 | | 15 | Escaping from Giant Despair - 8/22/01 | 2001-10-22 | 2001-08-22 | | 14 | Friendship with the world - 8/30/01 | 2001-10-22 | 2001-08-30 | | 49 | The Lord is my Shepherd 9-5-01 | 2001-10-21 | 2001-09-05 | | 50 | The Fear of Death 10-17-01 | 2001-10-17 | 2001-10-17 | +-----+---------------------------------------------------------+----------- -+------------+ 18 rows in set (0.00 sec) So my workaround is to go ahead and select created even though I don't need that piece of data in my result set. One obviously shouldn't have to select unneeded data just to get it to sort correctly. >Submitter-Id: ? >Originator: Luke Loeffler >Organization: Deafdog Studio >MySQL support: none >Synopsis: ordering incorrect unless order by column also selected >Severity: critical >Priority: medium >Category: mysql >Class: sw-bug >Release: mysql-3.23.36 (Source distribution) >Environment: System: RedHat Linux 7.1 www.deafdog.net 2.4.2-2 #1 Sun Apr 8 20:41:30 EDT 2001 i686 unknown Architecture: i686 --------------------------------------------------------------------- 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