sql - 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)
解决方案
我现在无法检查,但我猜想在子查询中您选择 3 个字段的原因。您不能将 3 个字段的“total_amt_usd”结果分配给“total_amt_usd”,您只需要一个值。
推荐阅读
- javascript - react - 在 onscroll 方法中如何检测页面已到达底部
- validation - 如何在 Go 中处理控制台输入类型验证?
- python - 有效日期范围 One-Hot-Encode groupby
- java - 如何输出用户选择的形状和颜色,其位置和尺寸取决于用户点击的坐标位置
- angularjs-directive - ISSUE: 带有自定义 angularjs 指令和 kendoConfirm 的 Kendo 工具提示
- java - JavaFX TableCell 有空项目
- angular - 单击单独的Angular 7 mat-toolbar组件中的链接时如何滚动到页面上的元素
- c# - 如何在 SQL Server 2012 中搜索月份和年份?
- c++ - C++回文检查解决方案被一个测试用例绊倒
- swift - UITableView 折叠时不记得选择