获取最新记录,字段可以为null

罗伯特·特鲁德尔

我有这张桌子:

prba_id | ba_id | start_date | end_date
      1 | 1     | 2020-01-01 | 2020-02-25
      2 | 1     | 2020-02-25 | null
      3 | 2     | 2020-03-01 | 2020-04-25
      4 | 2     | 2020-04-25 | 2020-05-25

如果end_date为null,则我搜索以获取最近end_date的ba_id的记录,这直接意味着它是最新的。

该查询似乎有效:

select max(coalesce(end_date, to_date('9999-01-01', 'YYYY-MM-DD'))) from prba
where praba.billing_account_id = 2

..但我需要所有领域。

我想要一个JPA解决方案,但如果不可能,可以使用native。

戈登·利诺夫

您可以使用row_number()

select prba.*
from (select prba.*,
             row_number() over (partition by billing_account_id order by end_date desc nulls first) as seqnum
      from t
     ) t
where seqnum = 1;

这提供了所有计费帐户的信息。

如果只需要一个,则可以在子查询中进行过滤-或使用:

select prba.*
from prba
where billing_account_id = 2
order by end_date desc nulls first
fetch first 1 row only;

在旧版本的Oracle中:

select p.*
from (select prba.*
      from prba
      where billing_account_id = 2
      order by end_date desc nulls first
     ) p
where rownum = 1;

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类常见问题

获取最新记录,字段可以为null

来自分类Dev

更新NULL字段与最新记录

来自分类Dev

CakePHP 3.x:查询以排除其中字段可以为NULL或为空(“)的记录

来自分类Dev

根据字段排序对象列表,可以为null

来自分类Dev

根据字段排序对象列表,可以为null

来自分类Dev

按日期时间字段获取最新的MongoDB记录

来自分类Dev

当字段值可以为null或不为null时,如何在groovy中编写查询

来自分类Dev

当字段值可以为null或不为null时,如何在groovy中编写查询

来自分类Dev

获取最新记录

来自分类Dev

EventArgs可以为null吗?

来自分类Dev

EventArgs可以为null吗?

来自分类Dev

如何选择在SQL Server中列等于可以为null的参数的记录

来自分类Dev

Linq-检查where子句中的条件是否字段可以为null

来自分类Dev

比较器:将 2 个对象与可以为 null 的字段进行比较

来自分类Dev

Kafka可以为您拆分记录吗?

来自分类Dev

Kafka可以为您拆分记录吗?

来自分类Dev

TSQL,联接到多个字段,其中一个字段可以为NULL

来自分类Dev

当某些字段可以为 NULL 时,我可以使用对象作为 JPA 中标准查询的谓词吗?

来自分类Dev

获取特定类型的最新记录

来自分类Dev

mysql:分组并获取最新记录

来自分类Dev

获取用户的最新记录

来自分类Dev

在Parse.com JS查询中获取每个字段的最新记录

来自分类Dev

获取具有唯一字段的最新记录

来自分类Dev

如何根据字段日期获取有关大查询的最新记录

来自分类Dev

sql记录获取最新记录-SQL Server

来自分类Dev

获取记录组中的最新记录

来自分类Dev

与可以为NULL的值进行比较

来自分类Dev

以日期作为参数的函数可以为NULL

来自分类Dev

Java可变参数可以为null吗?

Related 相关文章

热门标签

归档