我想執行PostgreSQL服務器,其結構上的查詢如下:GROUP BY和ORDER BY不同列上
SELECT col1, SUM(col2) GROUP BY col1 ORDER BY colNotInSelect;
我曾嘗試包括colNotInSelect在GROUP BY子句中,但因爲它是一個具有不同價值的列,它首先破壞了使用GROUP BY的目的。
任何幫助表示讚賞。
我想執行PostgreSQL服務器,其結構上的查詢如下:GROUP BY和ORDER BY不同列上
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;
如果它不適合您的需求,也許你應該清楚自己在做什麼。
因爲它是不同的,*你想要的* colNotInSelect的價值? –
我不想要colNotInSelect的任何值。我只是想用它來排序查詢返回的記錄。 –
你想在排序中使用哪一個? –