Hello, I am using ASP and MS SQL Sever 2000 as backend database.. I am writing a SQL query which will pick up top 5 recipes details who have scored the highest marks from the following table tblrecipes - ID | recipe_name | Total Code (markup): The following points to be noted: - The table has 500 records. - 50 of them have achieved the highest marks ie 100 marks each - My following query is picking up top 5 records who have scored 100 marks SELECT TOP 5 ID, total, recipe_name FROM tblrecipes ORDER BY total DESC Code (markup): and getting this output: Now my question is: On what basis its showing up this sequence of listing? I mean why the ID 89 is on the top and 136 at the bottom? Why the ID is not the other way round? Like the following? ID __ 178 136 89 286 340 Can someone explain please? Thanx
Try this: SELECT TOP 5 ID, total, recipe_name FROM tblrecipes ORDER BY total DESC, ID desc If you want to put the highest IDs at the top You can NOT expect the IDs to be ordered in the arbitrary way you've laid them out: 178 136 89 286 340 You have to use something to order the IDs, either the ID itself or the recipe_name.