在雪花中删除具有不敏感值的行

Dedup rows with insensitive values in snowflake

我想删除值不区分大小写的行。

original table:
| ID | Name           |
| ---| -------------- |
| 1  | Apple          |
| 2  | Banana         |
| 1  | apple          |

去重后的期望输出(保持小写):

| ID | Name           |
| ---| -------------- |      
| 2  | Banana         |
| 1  | apple          |

以下语句仅适用于区分大小写的匹配项。

create table DELETE2 as select distinct * from DELETE1;
drop table DELETE1;
alter table DELETE2 rename to DELETE1;

我尝试使用以下语句,但没有用。

ALTER SESSION SET QUOTED_IDENTIFIERS_IGNORE_CASE = TRUE;

谢谢! 知泽

你可以group by lower(x):

select id, max(name) name
from table
group by 1, lower(name)