0

ms-access last() 関数を SQL Server 2008 の同等のクエリに変換する方法は? コードは

SELECT 
    DISTINCT Last([Title].[Number) AS Row_ID 
FROM [Title] 
HAVING (Last([Title].[Number]) Is Null)
4

4 に答える 4

2

これを試して

Select Top 1 Number From
(
  Select Number From Title ORDER BY Number DESC
)
于 2012-09-19T07:46:46.560 に答える
2

直接的な同等物はありませんが、通常はORDER BYとの組み合わせによって実現できますROW_NUMBER()。または、場合によってMAXは、より多くのコンテキストとサンプル データを提供すると、決定的な答えを出すのが簡単になります。

于 2012-09-19T07:36:57.207 に答える
1

LAST_VALUE(Title.Number)を(...)で使用してみてください

于 2012-09-19T08:42:00.383 に答える
0

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
于 2012-09-19T08:14:51.197 に答える