簡體   English   中英

將ms-access last()函數轉換為sql server 2008

[英]convert ms-access last() function to 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)

它沒有直接等價的關系,但是通常可以通過ORDER BYROW_NUMBER() ,或者可能是MAX的組合來實現-如果您提供更多的上下文和樣本數據,則更容易給出確定的答案

嘗試這個

Select Top 1 Number From
(
  Select Number From Title ORDER BY Number DESC
)

您需要將子查詢與ORDER BY一起使用,因為如果沒有此子句,則sql-server無法保證行的順序。 參見示例。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM