サブクエリの結果を平均化することはできませんか?
私が戦っているクエリは次のとおりです。
SELECT AVG(
SELECT SUM(`retail_subtotal`)
FROM `order`
WHERE `status` IN('O')
GROUP BY `lead_id`
);
実際、クエリを表現する簡単な方法は、サブクエリを使用しないことです。
SELECT SUM(`retail_subtotal`)/count(distinct lead_id) as avg
FROM `order`
WHERE `status` IN ('O')
(これは、lead_id が決して NULL ではないことを前提としています。)
avg() のサブクエリだけでなく、サブクエリが複数の行を返したため、元のクエリに問題がありました。
テーブルを指定せずに選択を実行しています。
これを試して
SELECT AVG(sum) from
(SELECT SUM(`retail_subtotal`) as 'Sum'
FROM `order`
WHERE `status` IN('O')
GROUP BY `lead_id`
) T1;
私はこれがうまくいくはずだと思う...
SELECT AVG(retail_sub) FROM
(
SELECT SUM('retail_subtotal') As retail_sub
From 'order'
WHERE `status` IN('O')
GROUP BY `lead_id`
) As Z