【发布时间】:2022-01-25 18:15:32
【问题描述】:
我在 DB 类中,我必须了解并证明可以在不使用自己的情况下获得 HAVING 和 GROUP BY 的结果。我搜索了这 2 个命令的替代方法,但我什么都不懂。
谁能给我例子?
select n_name
from(
select n_name, count( distinct c_custkey) AS aa
from nation AS n INNER JOIN customer AS c ON c.c_nationkey=n.n_nationkey
GROUP BY n_name
HAVING aa=(select MAX(cc)
from ( select n_name, count(distinct c_custkey) AS cc
from nation AS n
INNER JOIN customer AS c ON c.c_nationkey=n.n_nationkey
GROUP BY n_name
ORDER BY n_name))
ORDER BY n_name);
【问题讨论】:
-
您必须详细说明。使用
group by或having根本不是语法糖。它们的替代品只会更加复杂。您发布的查询对我来说似乎没有用。大多数情况下,你会使用很多select distinct和我想象的相关子查询。