我想在结构如下的 POSTGRESQL 服务器上执行查询:
SELECT col1, SUM(col2) GROUP BY col1 ORDER BY colNotInSelect;
我试图将colNotInSelect包含在 GROUP BY 子句中,但由于它是具有不同值的列,因此它首先破坏了使用 GROUP BY 的目的。
任何帮助表示赞赏。
我想在结构如下的 POSTGRESQL 服务器上执行查询:
SELECT col1, SUM(col2) GROUP BY col1 ORDER BY colNotInSelect;
我试图将colNotInSelect包含在 GROUP BY 子句中,但由于它是具有不同值的列,因此它首先破坏了使用 GROUP BY 的目的。
任何帮助表示赞赏。
您不能按该列排序,因为它可能对 col1 的每个值都有许多值。
但是,您可以将聚合函数应用于列,并按此排序。
例如:
SELECT col1,
SUM(col2)
GROUP BY col1
ORDER BY MIN(colNotInSelect);
您的问题实际上没有意义,因为行是按 col1 分组的,因此分组的行中没有 colNotInSelect 。尝试在订购前聚合 colNotInSelect,例如:
SELECT col1, SUM(col2), AVG(colNotInSelect) as col3 GROUP BY col1 ORDER BY col3;
如果它不符合您的需要,也许您应该澄清您在做什么。