在Presto的Case Insensitive group

时间:2017-07-20 06:08:21

标签: presto

默认情况下,Presto执行区分大小写的组。但我想知道如何做不区分大小写的小组。一种方法是将列中的所有内容转换为小写,然后按ie

执行分组
select * from ( select lower(name_of_the_column)), other_columns from table)
where conditions..
group by name_of_the_column

我们可以减少时间的一种方法是将条件放在括号内的选择状态中。有没有更好的方法?

1 个答案:

答案 0 :(得分:1)

您无需将lower(...)推送到子查询中。如果你只是写:

SELECT lower(name_of_the_column), ...
FROM ...
GROUP BY lower(name_of_the_column) -- or just "GROUP BY 1"

Presto将每行只转换为小写一次(不是两次)。