GROUP BY句で指定するか、集約関数内で使用しなければなりません
自分用
DB:PostgreSQL
SELECT
history_id,
COUNT(*)
FROM
(
SELECT
his.*
FROM
housework_history AS his
WHERE
works_id= 2/*i*/
AND
flag_nexttime_comp = FALSE
) AS A
欲しい結果
|history_id|count|
|----|----|----|
|2|2||
|31|2||
列"a.history_id"はGROUP BY句で指定するか、集約関数内で使用しなければなりません
GROUP BY追加
GROUP BY history_id;
結果
|history_id|count|
|----|----|----|
|2|1||
|31|1||
集約関数
集約関数は複数の入力値から単一の結果を計算
分析関数
それぞれの行で集計結果を計算
OVER()をつけることで分析関数として使うことができる。
COUNT(*)
↓
COUNT(*)OVER()