我正在编写一个返回 COUNT 的选择子查询。但是,我需要在子查询中使用 HAVING 子句,因此需要在我的子查询 SELECT 中指定该列。所以结果是我有 2 列:COUNT 和 column_for_having_clause。
有什么方法可以告诉 SQL 只取第一列。我收到一条错误消息 “操作数应包含 1 列”。我认为这一定是一个常见问题,有人知道解决方法吗?
此外,有没有一种方法可以在不指定 SELECT 查询中的列的情况下执行 HAVING 子句?
谢谢!
最佳答案
你可以做
SELECT blah FROM foo WHERE bar = (SELECT cnt FROM (SELECT cnt, column_for_having_clause FROM table .... HAVING ... LIMIT 1))
但是很丑。
关于mysql - 子查询返回多列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1351596/