Sql server 将ms access last()函数转换为sql server 2008
如何将ms access last()函数转换为sql server 2008等效查询?代码是Sql server 将ms access last()函数转换为sql server 2008,sql-server,sql-server-2008,tsql,ms-access,Sql Server,Sql Server 2008,Tsql,Ms Access,如何将ms access last()函数转换为sql server 2008等效查询?代码是 SELECT DISTINCT Last([Title].[Number) AS Row_ID FROM [Title] HAVING (Last([Title].[Number]) Is Null) 它没有直接的等价物,但通常可以通过组合按顺序和行编号()来实现,或者可能是MAX-如果您提供更多的上下文和样本数据,则更容易给出明确的答案它没有直接的等价物,但通常可以通过组合按顺序和行
SELECT
DISTINCT Last([Title].[Number) AS Row_ID
FROM [Title]
HAVING (Last([Title].[Number]) Is Null)
它没有直接的等价物,但通常可以通过组合
按顺序
和行编号()来实现,或者可能是MAX
-如果您提供更多的上下文和样本数据,则更容易给出明确的答案它没有直接的等价物,但通常可以通过组合按顺序
和行数(),或者可能是MAX
-如果您提供了更多的上下文和示例数据,那么就更容易给出明确的答案
Select Top 1 Number From
(
Select Number From Title ORDER BY Number DESC
)
试试这个
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
您需要使用带有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
尝试使用尝试使用您应该解释在查询中最后一个应该做什么是迁移到SQL 2012选项?您确定您的查询选择了什么吗?我担心空的部分。这个查询在做什么?您应该解释在您的查询中最后一个应该做什么是迁移到SQL 2012的一个选项?您确定您的查询选择了什么吗?我担心空的部分。这个查询在做什么?