我不熟悉子查询,我正在试图理解为什么我的常规查询返回的结果与此子查询不同。我正在学习本教程,这是第一个“试用”问题。->我的问题是:
SELECT customerNumber, checkNumber, MAX(amount) FROM payments
pcww981p1#
您在本教程中测试的查询是不同的,它将获得最大数量的行(仅一行):
SELECT customerNumber, checkNumber, amount FROM payments WHERE amount = ( SELECT MAX(amount) FROM payments );
使用聚合函数的查询将获得customernumber和checknumber的每个组合的最大金额(可以是多个组合):
SELECT customerNumber, checkNumber, MAX(amount) FROM payments group by customerNumber, checkNumber
这完全取决于你想要什么。
sycxhyv72#
使用聚合函数时 max() 因此,您必须使用groupby,您的查询如下所示
max()
2条答案
按热度按时间pcww981p1#
您在本教程中测试的查询是不同的,它将获得最大数量的行(仅一行):
使用聚合函数的查询将获得customernumber和checknumber的每个组合的最大金额(可以是多个组合):
这完全取决于你想要什么。
sycxhyv72#
使用聚合函数时
max()
因此,您必须使用groupby,您的查询如下所示