2015-12-31 74 views
1

OK,少用以下SQL Server的前(1)比沒有得到正確的結果

SELECT TOP (1) PicsID from Pics WHERE (PicsID < 130) 

這應該給我行了此前的紀錄,這將是129,但是,它跳到開始並給我的表中的第一個記錄,其中是記錄#1不#129

我有一個更復雜的查詢在另一個網站,這是正確的,並給出了下一個數字,然而,像這樣使用它不起作用。

任何想法的?

回答

3

您沒有指定order by。你只給了一個限制。 SQL Server被允許返回匹配行的任意選擇。您需要:

SELECT TOP (1) PicsID from Pics WHERE (PicsID < 130) 
ORDER BY PicsID desc 
+0

當,我應該刷新頁面:)我想出了以及......並將其張貼在下面作爲答案.. –

0

只是想通了。

SELECT TOP (1) PicsID from Pics WHERE (PicsID < 130) order by picsid desc 

只好添加順序,以獲得以前的記錄。

韋恩

相關問題