我在我的SQL查询中嗅探出围绕ARRAY_AGG
函数运行的错误。以下是以下两行SQL。这两个类似的SQL ARRAY_TO_STRING语句有什么区别?
以下代码行是我最终希望拥有的正确且完整的SQL版本。此行为是导致正确查询的行为。
ARRAY_TO_STRING((ARRAY_AGG(R.version ORDER BY R.released_on DESC))[1:10], ', ')
,在这里这条线我认为将是等效的,但是当我执行这一行的SQL我收到ERROR: more than one row returned by a subquery used as an expression
ARRAY_TO_STRING(ARRAY_AGG((SELECT "releases"."version" FROM "releases" ORDER BY "releases"."released_on" DESC LIMIT 10)), ',')
我到达通过AREL此行SQL,并证明是一个有点具有挑战性,但是这两条线可能相当吗?第一行是切片数组以检索10个项目,而第二个基本上是做同样的事情,尽管在行中。这是否可以调整或将这需要重写?