首页 > 解决方案 > Sql 错误 ERROR 1241 (21000): 操作数应包含 1 列

问题描述

查找最高的前 10 个帐户total_amt_usd

SELECT 
    AVG(total_amt_usd)
FROM
    orders
WHERE 
    total_amt_usd = (SELECT A.id, A.name, SUM(O.total_amt_usd) tot_spent
                     FROM orders O
                     JOIN accounts A ON A.id = O.account_id
                     GROUP BY A.id, A.name
                     ORDER BY 3 DESC
                     LIMIT 10)

标签: sql

解决方案


我现在无法检查,但我猜想在子查询中您选择 3 个字段的原因。您不能将 3 个字段的“total_amt_usd”结果分配给“total_amt_usd”,您只需要一个值。


推荐阅读