我有一个表x
,其中包含字段a
、b
、c
和d
。我想做一个SELECT语句,它是GROUPED BY a
HAVING a_particular_value = ANY (array_agg( b
)) 并检索 a
、MIN ( d
) 和c
<- 从中选择的行a_particular_value = ANY(array_agg(b))
。这有点令人困惑。
让我试着解释一下。a_particular_value = ANY(array_agg(b))
将从按 分组的所有记录中选择一些或一条记录a
。我想c
从导致条件为真的记录中检索 的值。虽然不过滤掉其他记录,因为我仍然需要其他聚合函数的记录,MIN(d)
.
我尝试进行的查询:
SELECT a, MIN(d) FROM x
GROUP BY a
HAVING 1 = ANY(array_agg(b))
唯一剩下要做的就是放入c
SELECT子句。我该怎么做呢?