[英]Which SQL function can be used as alternative of FIRST() of Informatica in SQL?
[英]How can we implement First() function used in Informatica in SQL?
我在 Informatica 中有一个聚合转换,其中 Description1 列 = First(Description)。 我想在 SQL 查询中实现相同的功能。谁能建议如何做到这一点? 样本数据集表名-ABC
Name Expression
ID ID
DESCRIPTION
DESCRIPTION1 FIRST(DESCRIPTION1)
INSERT_DATE
INSERT_DATE1 FIRST(INSERT_DATE)
RANK
RANK1 FIRST(RANK)
请使用以下查询,
select max(Description1) from Router_Transform;
如果您在映射中使用排序器转换,请使用order by
子句,
select max(Description1) from Router_Transform order by column_name;
如果您想要具有最小id
的行,那么您可以对结果集进行排序并仅保留一行。 在标准 SQL 中,您通常会为此使用行限制子句:
select t.*
from mytable
order by id
fetch first row only
请注意,所有数据库都支持这种语法(但几乎所有数据库都有替代方案)。
另一方面,如果您想向每行添加更多列以显示每列的“第一个”值,那么您将使用 window function 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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.