我正在使用Postgresql
來編寫一個查詢,該查詢每天計算差異值的總和並從其他表中獲得單價il_costs
,我試圖用子查詢實現。下面整個查詢:數據函數在子查詢中分組的項目
SELECT date(read.readed_at),
SUM(read.diff),
(SELECT water_unit
FROM il_costs
WHERE EXTRACT(MONTH FROM created_at) = EXTRACT(MONTH FROM date(read.readed_at))
AND EXTRACT(YEAR FROM created_at) = EXTRACT(YEAR FROM date(read.readed_at)))
FROM il_communicators_readings read
GROUP BY date(read.readed_at)
ORDER BY date(read.readed_at) ASC;
我收到約未分組列的錯誤,但我使用date(read.readed_at)
也分組功能:
ERROR: subquery uses ungrouped column "read.readed_at" from outer query
LINE 1: ...(MONTH FROM created_at) = EXTRACT(MONTH FROM date(read.reade...
一般GROUP BY規則:「如果指定了GROUP BY子句,在SELECT列表中的每個列引用必須明確指出的一個分組列或者是一組函數的參數。」 – jarlh