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