Teradata SQL 数据分区

Teradata SQL data partition

ID  ID1 Name
111 11  A
111 11  AA
222 12  B
222 13  C

我有上面的table,我想要下面的结果。

ID  ID1 Name
111 11  A
111 11  AA
222 12  B

基本思想是,当ID和ID1的行值相同时,它应该是可见的,当ID行值相同而ID1行值不同时,它应该选择上面的。

这与您的结果和描述相符,返回所有具有最低 ID1 的行 ID

SELECT *
FROM mytable
QUALIFY
   RANK()
   OVER (PARTITION BY ID
         ORDER BY ID1) = 1