我一直在绞尽脑汁想弄清楚这一点。我绝不是 SQL 专家,但这就是我想做的事情。我在 SQL 中有一个表,其中行特定于车辆,列定义所有权变更日期。如您所见,有些车辆只列出了两个所有权日期,而有些车辆列出了六个或更多。我如何让 SQL 告诉我在给定的行(或记录)中最后一个非空所有权日期是 XXX?
到目前为止,我发现的所有内容都使用了整个表中的最后一个空值,因此我试图实现的目标发生了变化。它希望给我一列而不是行的最后一个非空项。我可能有超过 100 万行,所以我无法真正翻转此图表的设计。
记录编号 | 最早的所有权记录日期 |
---|---|
1号线 | 20050930 |
2号线 | 20060508 |
3号线 | 20061025 |
... 等等...
COALESCE()
只需按相反的顺序使用列即可: