Sql 获取一个字段不为空的最新记录
我希望缩小我的数据库范围,使其只有最多的记录。最新记录需要在特定字段中具有值Sql 获取一个字段不为空的最新记录,sql,ms-access,Sql,Ms Access,我希望缩小我的数据库范围,使其只有最多的记录。最新记录需要在特定字段中具有值 ID Account_nbr Date Name 1 622 7/10/2018 Stu 2 622 7/24/2018 3 151 7/18/2018 Taylor 4 151 7/24/2018 Taylor 这是数据库的一个示例。 我希望代码能够做到这一点: ID Account_nbr Date Name 1 622
ID Account_nbr Date Name
1 622 7/10/2018 Stu
2 622 7/24/2018
3 151 7/18/2018 Taylor
4 151 7/24/2018 Taylor
这是数据库的一个示例。
我希望代码能够做到这一点:
ID Account_nbr Date Name
1 622 7/10/2018 Stu
4 151 7/24/2018 Taylor
我尝试了以下代码:
Select m.*
FROM [table] m
INNER JOIN
(
SELECT last(Date) as LatestDate
,account_nbr
FROM [table]
WHERE Name IS NOT NULL
GROUP BY account_nbr
) b
ON m.Date = b.LatestDate
AND m.account_nbr = b.account_nbr
输出仅包括最近的日期,未考虑名称字段中为空的记录。我会:
select t.*
from table as t
where t.name is not null and
t.date = (select max(t1.date)
from table as t1
where t1.account_nbr = t.account_nbr
);
试试这个:
Select
m.*
From
[table] As m
Where
m.[Date] In
(Select Max([Date])
From [table] As T
Where T.[Name] Is Not Null
And T.account_nbr = m.account_nbr)
标记您正在使用的DBMS(即
MySQL
,SQL Server,
等)。哪个DBMS SQL Server,oracle等?窗口函数和通用表表达式可用吗?