使用 ALL 关键字的 mySQL 查询

标签 mysql database

给定这张表:

account_number branch_name balance
A-101          Downtown        500
A-102          Perryridge      400
A-201          Brighton        900
A-215          Mianus          700
A-217          Brighton        750
A-222          Redwood         700
A-305          Round Hill      350

我必须 find 编写一个 mySQL 查询来找到平均余额最大的分支 (branch_name)。我试图了解如何使用 ALL 关键字。

我尝试了以下方法:

SELECT branch_name,avg(balance) 
FROM account GROUP BY branch_name 
WHERE avg(balance) >= ALL (
SELECT avg(balance) 
FROM account GROUP BY branch_name
);

不过,我在“WHERE avg(balance) >= ALL”附近遇到语法错误。 帮忙?

最佳答案

你有一个语法错误,因为 where之前 group by 而不是之后。

老实说,我基本上从不使用allsomeany 关键字。我不认为它们是必要的。如果您想要余额最高的分支,您可以简单地执行以下操作:

SELECT branch_name, avg(balance) 
FROM account
GROUP BY branch_name 
ORDER BY avg(balance) DESC
LIMIT 1;

关于如何使用子查询执行此操作可能会有一个有趣的练习。但更重要的是学习直接方法。

关于使用 ALL 关键字的 mySQL 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28205017/

相关文章:

mysql - 使用 MySQL 工作台连接到 Nitrous.IO MySQL 服务器

php - 通过 php 提交框运行多个 Mysql 更新

python - 如何在给定数据库表的Python中生成基本的CRUD功能

mysql - 测试多个用户是否在同一组中

database - Amazon SimpleDB 查询以查找 "Post By Friends"

php - 如何显示 "No Results Found"消息 (PHP)

php - 具有用户本地列表的网站,仅用于存储数据,简单表格

php - 单击 'Add' 按钮时如何将传递的变量存储到数据库中?

php - 使用PHP和mysql大数据导入到多张外键表

MYSQL 获取两个值之间的差异