2012-03-30 57 views
0

我有一個搜索頁面,其中通過傳遞多個參數來搜索數據。我使用StartDate(日期時間字段)作爲默認排序順序(如果沒有提供排序順序,結果將根據StartDate排序)。在搜索時,如果多行具有相同的StartDate,我將獲得隨機的數據行順序。 有誰可以告訴我這是什麼原因? 感謝在列上完成排序時的行的隨機順序

+0

你是什麼意思的「默認排序順序」? SQL Server沒有默認的排序順序。 – datagod 2012-03-30 14:39:27

+0

更新後的描述 – 2012-03-30 14:42:21

回答

4

如果沒有明確定義排序順序,也沒有保證的順序在要返回的行。

如果ORDER BY單場,行組內有一個順序除非您定義它,否則該字段上的匹配是不確定的。

我不確定你期望得到什麼樣的訂單。如果您有需要的訂單,您必須指定它才能按照該順序獲取這些行。

期間。

+0

感謝JNK的回覆,您能否向我提供解釋此行爲的任何鏈接/文檔? – 2012-04-02 06:13:54

+0

@AshwaniK [它在ORDER BY頁面上](http://msdn.microsoft.com/en-us/library/ms188385.aspx):'除非結果集中的行返回的順序不能保證,除非指定了ORDER BY子句。' – JNK 2012-04-02 12:08:01

+0

但是在這裏,我們正在指定順序。如果您可以提供任何鏈接來解釋在使用列順序時遇到相同值時的行爲,這將非常有幫助。 – 2012-04-02 13:13:42