[英]convert ms-access last() function to sql server 2008
How to convert ms-access last() function to sql server 2008 equivalent query? 如何将ms-access last()函数转换为sql server 2008等效查询? code is 代码是
SELECT
DISTINCT Last([Title].[Number) AS Row_ID
FROM [Title]
HAVING (Last([Title].[Number]) Is Null)
它没有直接等价的关系,但是通常可以通过ORDER BY
和ROW_NUMBER()
,或者可能是MAX
的组合来实现-如果您提供更多的上下文和样本数据,则更容易给出确定的答案
Try this 尝试这个
Select Top 1 Number From
(
Select Number From Title ORDER BY Number DESC
)
You need to use sub-query with ORDER BY
because sql-server doesn't guaranty order of rows without this clause . 您需要将子查询与ORDER BY
一起使用,因为如果没有此子句,则sql-server无法保证行的顺序。 See the example. 参见示例。
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.