我有简单的 SQL Server 查询:
declare @table table (id int, name nvarchar(5), deleted bit)
insert into @table(id, name, deleted) values(1, 'A1', 0)
insert into @table(id, name, deleted) values(2, 'A1', 0)
insert into @table(id, name, deleted) values(3, 'A1', 0)
insert into @table(id, name, deleted) values(4, 'A1', 1)
insert into @table(id, name, deleted) values(5, 'A2', 0)
insert into @table(id, name, deleted) values(6, 'A2', 0)
select
max(id) as id,
name
from @table
where deleted = 0
group by name
它返回到行
id |name
--------------
3 |A1
6 |A2
但应该只返回一个
id |name
--------------
6 |A2
因为 A1 的最后一个(或最大)id 被删除。
如何修复我的查询。
非常感谢。