如何在sql中实现informatica中使用的first()函数?

hc2pp10m  于 2021-07-26  发布在  Java
关注(0)|答案(2)|浏览(345)

我在informatica中有一个聚合转换,其中description1 column=first(description)。我想在sql query中实现同样的功能。有人能建议怎么做吗?示例数据集表名

Name               Expression
ID                 ID
DESCRIPTION 
DESCRIPTION1       FIRST(DESCRIPTION1)
INSERT_DATE 
INSERT_DATE1       FIRST(INSERT_DATE)
RANK    
RANK1              FIRST(RANK)
djp7away

djp7away1#

请使用下面的查询,

select max(Description1) from Router_Transform;

如果在Map中使用分类器转换,请使用 order by 条款,

select max(Description1) from Router_Transform order by column_name;
h22fl7wq

h22fl7wq2#

如果你想要最小的那一排 id ,则可以对结果集进行排序并只保留一行。在标准sql中,通常使用行限制子句:

select t.*
from mytable
order by id
fetch first row only

请注意,所有数据库都支持这种语法(但几乎所有数据库都有这种语法的替代方法)。
另一方面,如果您想向每一行添加更多的列来显示每一列的“first”值,那么您可以使用window函数 first_value() :

select
    t.*,
    first_value(description) over(order by id) description1,
    first_value(insert_date) over(order by id) insert_date1,
    first_value(rank)        over(order by id) rank1
from mytable

相关问题