Sort results based on order of entries in the WHERE's IN clause

sql order by date
sql order by multiple columns
sql order by two columns at the same time
sql order by number
sql order by multiple columns asc and desc
group by sql
sql order by group by
sql limit

I have a query

 select * 
 from qtable 
 where qid in (15,555,2,3,4,5,36,27,18,9)

here qid is the primary key.

I get the following results sorted out by qid as it is the primary key but my requirement is to get the results as mentioned in the in (15, 555, 2, 3, 4, 5, 36, 27, 18, 9) statement.

Is there a way to unsort the records?

 select qtable.* 
 from qtable join (values (15),(55),(2),(3),(4))a(id)
 on a.Id = qtable.qID

SQL - Order By default sort order, What is the default sort order of order by clause? Sorting data is an integral part of data analysis. You might want to arrange a list of names in alphabetical order, compile a list of product inventory levels from highest to lowest, or order rows by colors or icons. Sorting data helps you quickly visualize and understand your data better, organize and find the data that you want, and

SQL Server and other ANSI SQL compliant database require an ORDER BY clause to return data in a particular order. One approach is to use a row constructor that includes the desired sequence:

SELECT qtable.* 
FROM qtable 
JOIN (VALUES
     (1, 15)
    ,(2, 555)
    ,(3, 2)
    ,(4, 3)
    ,(5, 4)
    ,(6, 5)
    ,(7, 36)
    ,(8, 27)
    ,(9, 18)
    ,(10, 9)
    ) AS list(seq, value) ON qtable.quid = list.qid
ORDER BY list.seq;

A similar technique can be used for variable list of values passed as a table-valued parameter or table variable:

DECLARE @list TABLE (
      seq int
    , qid int);

INSERT INTO @list VALUES
     (1, 15)
    ,(2, 555)
    ,(3, 2)
    ,(4, 3)
    ,(5, 4)
    ,(6, 5)
    ,(7, 36)
    ,(8, 27)
    ,(9, 18)
    ,(10, 9);

SELECT qtable.* 
FROM qtable 
JOIN @list AS list ON qtable.quid = list.qid
ORDER BY list.seq;

SQL ORDER BY Keyword, How do you arrange data in ascending order in Excel? Under the Order heading, select the down arrow and choose Z to A to sort the Name data in descending order. Select Add Level to add a second sort option. Under the Column heading, select the Then by down arrow and choose Age to sort records with duplicate names by the Age column.

You can do it like this:

select qid,case when qid = 15 then 1
when qid = 555 then 2
when qid = 2 then 3
when qid = 3 then 4
when qid = 4 then 5
when qid = 5 then 6
when qid = 36 then 7
when qid = 27 then 8
when qid = 18 then 9
when qid = 9 then 10
end as qidflag



 from qtable where qid in (15,555,2,3,4,5,36,27,18,9)

 order by qidflag

SQL - SORTING Results, SQL - SORTING Results - The SQL ORDER BY clause is used to sort the data in ascending or descending order, based on one or more columns. Some databases Example. Consider the CUSTOMERS table having the following records − Sort data by the most frequent value with Kutools for Excel. Actually, Kutools for Excel provides an directly workaround to sort any list/column by the frequency easily with the Advanced Sort utility. Please do as follows: 1. Select the list you need to sort by frequency, and click Enterprise > Advanced Sort. See screenshot: 2.

Here's an option where you can pass the desired ID/Sequence as a delimited string.

The Sequence will be maintained.

Example

Declare @List varchar(max)='15,555,2,3,4,5,36,27,18,9'

Select A.* 
 From  qtable A
 Join (
        Select RetSeq = Row_Number() over (Order By (Select null))
              ,RetVal = v.value('(./text())[1]', 'int')
        From  (values (convert(xml,'<x>' + replace(@List,',','</x><x>')+'</x>'))) x(n)
        Cross Apply n.nodes('x') node(v)
      ) B on A.quid = B.RetVal
 Order By B.RetSeq

If it Helps - the sub-query Returns

RetSeq  RetVal
1       15
2       555
3       2
4       3
5       4
6       5
7       36
8       27
9       18
10      9

SQLite Order By, This tutorial shows you how to use SQLite ORDER BY clause to sort the result set If you use the SELECT statement to query data from a table, the order of rows in result set based on one or more columns in ascending or descending order. SQL Server and other ANSI SQL compliant database require an ORDER BY clause to return data in a particular order. One approach is to use a row constructor that includes the desired sequence: One approach is to use a row constructor that includes the desired sequence:

I would use something similar to the following:

DECLARE @qidList TABLE (sort INT NOT NULL IDENTITY(1,1), qid INT);
INSERT @qidList VALUES
(15),
(555),
(2),
(3),
(4),
(5),
(36),
(27),
(18),
(9);


select qtable.* 
from qtable
join @qidList list on list.qid=qtable.qid
order by list.sort;

SQL: ORDER BY Clause, This SQL tutorial explains how to use the SQL ORDER BY clause with syntax and examples. The SQL ORDER BY clause is used to sort the records in the result  To sort specific items manually or change the sort order, you can set your own sort options: Click a field in the row or column you want to sort. Click the arrow on Row Labels or Column Labels , and then click More Sort Options .

Sort Your Query Results, To get the last five rows of a result, such as the smallest five orders, just order your result in descending order. Exercises. It's important to practice! Use the sample  How do you alphabetize in Excel? This tutorial shows a few quick ways to sort rows and columns alphabetically. It also explains how to put Excel in alphabetical order with formulas, for example alphabetize by last name when the entries start with the first name.

SQL ORDER BY: Sorting the Result Set based on One or More , Introduction to SQL ORDER BY clause. When you use the SELECT statement to query data from a table, the order which rows appear in the result set may not be​  R makes it easy to sort vectors in either ascending or descending order. Because each column of a data frame is a vector, you may find that you perform this operation quite frequently. How to sort a vector in ascending order. To sort a vector, you use the sort () function. For example, to sort Population in ascending order, try this:

SQL ORDER BY, The ORDER BY clause allows you to reorder your results based on the data in Write a query that returns all rows from 2012, ordered by song title from Z to A. If the chart for which you want to change the plotting order displays axes, you can quickly reverse the order in which the categories or values are plotted along those axes. Additionally, in 3-D charts that have a depth axis, you can reverse the plotting order of data series so that large 3-D data markers do not block smaller ones.

Comments
  • why are the qid's put in circle braces?
  • Because each indicates a row.
  • @Venkat, I'll add that without ORDER BY the ordering of results is plan-dependent. This may work today but not tomorrow. In short order by is required when you need results in a particular order.