mysql - 子查询返回多列

标签 mysql subquery having

我正在编写一个返回 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/

相关文章:

mysql - RMySQL : SQL Syntax error unidentifiable

PHP mysql 与 mysql 查询和函数的问题

MySQL 使用子查询、内连接和 order by 会产生奇怪的结果

mysql - 如何在 MySQL 子查询中使用 GROUP BY

mysql - 如何从 MySQL 中选择行而不包含跨两列的重复项

mysql - 如何从表中查询最小值和最大值并将其显示为范围/序列?

php - 如何将雅虎/谷歌日历中的事件与 MySql 同步? - 在 PHP 中用于网络应用程序

php - Mysql SELECT COUNT(*) 或 SELECT 1? PDO

php - 在 Codeigniter 中将旧的程序化 PHP 函数转换为模型- View - Controller (MVC)

sql - elasticsearch喜欢选择...在哪里...分组...有