如何將ms-access last()函數轉換爲sql server 2008等效查詢?代碼是將ms-access last()函數轉換爲sql server 2008
SELECT
DISTINCT Last([Title].[Number) AS Row_ID
FROM [Title]
HAVING (Last([Title].[Number]) Is Null)
如何將ms-access last()函數轉換爲sql server 2008等效查詢?代碼是將ms-access last()函數轉換爲sql server 2008
SELECT
DISTINCT Last([Title].[Number) AS Row_ID
FROM [Title]
HAVING (Last([Title].[Number]) Is Null)
試試這個
Select Top 1 Number From
(
Select Number From Title ORDER BY Number DESC
)
它沒有直接等同,但一般可以通過的ORDER BY
和ROW_NUMBER()
,或可能MAX
組合來實現 - 如果你提供更多的背景和樣本數據,那麼就比較容易給出一個明確的答案
需要,因爲SQL服務器不行的擔保順序沒有這個子句中使用子查詢與ORDER BY
。看例子。
declare @tbl table(f1 int, f2 varchar(10), d datetime)
insert into @tbl values (1,'1-first','20120917')
insert into @tbl values (1,'1-middle','20120918')
insert into @tbl values (1,'1-last','20120919')
insert into @tbl values (2,'2-just one','20120917')
select f1, (select TOP 1 f2 from @tbl t2 where t2.f1=t1.f1 order by d DESC) Last_f2
from @tbl t1
group by f1
你應該解釋的最後一個應該在查詢做什麼 – codingbiz
被遷移到SQL 2012的選項? [LAST_VALUE](http://msdn.microsoft.com/fr-fr/library/hh231517.aspx) – tschmit007
你確定這個查詢你的選擇?我很擔心NULL部分。這個查詢在做什麼? – codingbiz