amazon-redshift – 由于内部错误,不支持Redshift这种类型的相关子查询模式

当我运行第一个查询时,所有运行正常:

select uid,
(select top 1 city from UserData where UserData.uid = #uids.uid 
group by city)
from #uids;

问题是当我按count(city)添加顺序时,我收到一个错误:由于内部错误,不支持这种类型的相关子查询模式

select uid,
(select top 1 city from UserData where UserData.uid = #uids.uid 
group by city
order by count(city))
from #uids;

最佳答案 该错误表明您的子查询不起作用,这是显而易见的,因为您不能在ORDER子句中使用SQL函数.您只能在SELECT和HAVING子句中使用它们.

如果要按count(city)排序,则应将其添加到带有别名的SELECT子句,并按别名命令.所以你的子查询可以是这样的:

(SELECT city, COUNT(*) AS city_count
FROM UserData
WHERE UserData.uid = #uids.uid
GROUP BY city
ORDER BY city_count
LIMIT 1)
点赞