我是Redshift的新手,正在寻找一种方法来指定我想要结果的顺序,accepted answer here正是我想要的,但是在Redshift中不存在FIELD函数。有没有办法在Redshift中完成相同的结果?
当前查询如下所示:
SELECT DISTINCT audit_type, audit_category FROM "schema"."table"
ORDER BY audit_type,
CASE WHEN audit_category = 'string_1' THEN 1
WHEN audit_category = 'string_2' THEN 2
WHEN audit_category = 'string_3' THEN 3
WHEN audit_category = 'string_4' THEN 4
WHEN audit_category = 'string_5' THEN 5
WHEN audit_category = 'string_6' THEN 6
WHEN audit_category = 'string_7' THEN 7
ELSE 8 END
答案 0 :(得分:0)
您可以使用CASE语句来实现相同目的:
ORDER BY CASE WHEN "name"='core' THEN 1 ELSE 2 END, priority
您可以通过在core
之前添加新的WHEN / THEN
部分,使用ELSE
之外的其他选项扩展列表,因此您最终要做的是映射可能的name
列表用于排序行的整数的选项