2011-06-29 79 views
1

我有一個徒步旅行網站。當人們搜索的上漲,他們所關心的兩個問題:我可以製作一個按兩列排序的查詢嗎?

  1. 有多接近它從他們的距離,並
  2. 當是事件

所以有時我需要呈現搜索結果按日期排序,但如果日期相同,則需要按距離排序。反之亦然。

這種事情可能在SQL?

回答

5

只需將order-by語句一個接一個追加。簡單求我敢肯定:

SELECT 
    Distance, 
    EventTime, 
FROM Table1 
ORDER BY Distance DESC, EventTime ASC 
  • 注意,你可以訂購,通過在同一查詢中下降和上升的值。
0
select * from table order by field1, field2; 
3

ORDER BY子句是SELECT聲明的最後一句。它需要一列列,用逗號分隔。該列表從左到右處理,所以

ORDER BY distance, event_start 

...將按距離先排序。哪裏有重複的距離,那些將根據event_start列值進行排序。默認情況下,排序爲ASCending順序 - 您需要在逗號前指定DESC以反轉邏輯。 IE:

ORDER BY distance DESC, event_start 

...將放置結果集頂部的最大距離。

相關問題