Add a "sort" to a =QUERY statement in Google Spreadsheets

Mr. B picture Mr. B · Feb 1, 2014 · Viewed 115.3k times · Source

I've setup a simple =QUERY statement that will pull targeted rows/columns out of a 'response' sheet and put them into a topic specific sheet.

=QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' ")

What I looking for is a way to "automatically sort" the rows being pulled by two methods.

  1. Alpha sort rows by one column
  2. Date/time sort rows by one column

Any suggestions on how I can modify the above QUERY to automatically sort the rows?

Answer

Pankaj Jaju picture Pankaj Jaju · Feb 1, 2014

You can use ORDER BY clause to sort data rows by values in columns. Something like

=QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' Order By C, D")

If you’d like to order by some columns descending, others ascending, you can add desc/asc, ie:

=QUERY(responses!A1:K; "Select C, D, E where B contains '2nd Web Design' Order By C desc, D")