我为这个问题绞尽脑汁已经有一段时间了。我还审查了其他问题,但没有成功。
我遇到的问题是,我有一个结果/表列表,其中包含多行和列
|注册 | ID |日期 |单位类型
| 005DTHGP | 172 | 172 2007-09-11 |生物酶
| 005DTHGP | 1966 | 2006-09-12 |追踪器
| 013DTHGP | 2281 | 2281 2006-11-01 |追踪器
| 013DTHGP | 2712 | 2712 2008-05-30 |生物酶
| 017DTNGP | 2404 | 2404 2006年10月20日|追踪器
| 017DTNGP | 508 | 508 2007年11月10日|生物酶
我正在尝试选择具有唯一注册且日期为最大(最新)的行。 ID 与 DATE 不成比例,这意味着 ID 可能较低,但 DATE 高于其他匹配行,反之亦然。因此,我无法在 DATE 和 ID 上使用 MAX(),并且分组似乎不起作用。
我想要的结果如下;
|注册 | ID |日期 |单位类型
| 005DTHGP | 172 | 172 2007-09-11 |生物酶
| 013DTHGP | 2712 | 2712 2008-05-30 |生物酶
| 017DTNGP | 508 | 508 2007年11月10日|生物酶
请帮忙!!!?!?!?!?!?!?
您需要嵌入式查询,但并非所有 SQL 都支持。在 t-sql 中你会有类似的东西
select r.registration, r.recent, t.id, t.unittype
from (
select registration, max([date]) recent
from @tmp
group by
registration
) r
left outer join
@tmp t
on r.recent = t.[date]
and r.registration = t.registration
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)