是不可能平均子查询的结果?
这是我正在与之抗争的问题:
SELECT AVG(
SELECT SUM(`retail_subtotal`)
FROM `order`
WHERE `status` IN('O')
GROUP BY `lead_id`
);
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助!
Tar*_*ryn 10
如果要执行此操作,则需要创建子查询.通过创建子查询,然后为SUM()列命名,然后AVG()为该新字段.
SELECT AVG(x.SubTotal)
FROM
(
SELECT SUM(`retail_subtotal`) SubTotal
FROM `order`
WHERE `status` IN('O')
GROUP BY `lead_id`
) x;
Run Code Online (Sandbox Code Playgroud)
实际上,一种更简单的方式来表达查询是没有子查询:
SELECT SUM(`retail_subtotal`)/count(distinct lead_id) as avg
FROM `order`
WHERE `status` IN ('O')
Run Code Online (Sandbox Code Playgroud)
(这假设 Lead_id 永远不会为 NULL。)
您的原始查询有问题,不仅因为 avg() 中的子查询,还因为子查询返回多行。
| 归档时间: |
|
| 查看次数: |
10372 次 |
| 最近记录: |