mysql - 操作数应在我的 sql 查询中包含 1 列错误
问题描述
不知道这是从哪里来的。我的意图是让 ROUND(AVG(duration)) 与lead_at 和qualified_at 的差异(第二个子查询)
SELECT (SELECT first_name
FROM users_permissions p WHERE p.user_id=a.assistant_id LIMIT 1) as Name, (SELECT u.lead_at, u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id WHERE u.qualified_at - u.lead_at) AS Difference, ROUND(AVG(duration)), count(id)
FROM aircalls a
WHERE assistant_id IS NOT NULL
AND status='Call Connected'
AND type='user'
AND EXISTS (SELECT u.id FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id AND u.status NOT IN (1,7))
AND EXISTS (SELECT p.user_id FROM users_permissions p INNER JOIN aircalls ON p.user_id=aircalls.user_id AND p.is_agent NOT IN (1))
AND year(a.created_at)=2019
GROUP BY(SELECT first_name
FROM users_permissions p WHERE p.user_id=a.assistant_id LIMIT 1)
解决方案
问题在于您的第二个选择(差异),而不是推导出两个值,您只是将它们都用逗号分隔。此外,where
其中的子句select
没有有效值。
它是:
SELECT u.lead_at, u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id WHERE u.qualified_at - u.lead_at) AS Difference
这是对该错误行的更正:
(SELECT u.lead_at - u.qualified_at FROM users u INNER JOIN aircalls ON u.id=aircalls.user_id) AS Difference
推荐阅读
- javascript - 如何从 JSON 添加到 HTML?
- ffmpeg - 如何在 ffmpeg 中指定纯文本字幕
- ios - 具有固定高度/宽度的自定尺寸 UICollectionViewCell
- python - 在 PySide 中异步加载图像
- java - Joda 或 Java 日期和时间 API 中是否有任何本地化常量,如“今天”、“明天”、“昨天”等?
- python - 如何在 Pandas 的大表中更新子表的内容?
- laravel - 如何使用 laravel 在 vue 组件中显示数据库表行数
- firebase - 在 mac 中安装 firebase 时,我无法移动箭头键,甚至无法选择默认项目
- node.js - 使用 Discord.js 时无法读取未定义的属性“发送”
- c++ - 如何在 N x (N+1) 个矩形中打印数字?