我很难弄清楚这个该死的问题。从我下面给出的数据和查询中,我想看看9月份租电影最多的电子邮件地址。
我的数据库中只有4个相关的表,它们被匿名化并缩短了:
表">cust":
<表类>cust_id f_name l_name 邮件 tbody><<tr>1 杰克丹尼尔斯jack.daniels@google.com 2何塞。 Quervo jose.quervo@yahoo.com 5吉姆 梁 jim.beam@protonmail.com 表类>
您错过了FETCH FIRST ROWS WITH TIES
条款。它将与ORDER BY
子句一起工作,以获得最高的值(FIRST ROWS),包括tie (with ties)。
SELECT cust.email
FROM cust
INNER JOIN rent
ON rent.cust_id = cust.cust_id
INNER JOIN inv
ON inv.inv_id = rent.inv_id
INNER JOIN mov
ON mov.mov_id = inv.mov_id
WHERE rent.rent_date BETWEEN '2022-09-01' AND '2022-09-31'
GROUP BY cust.email
ORDER BY COUNT(DISTINCT inv.mov_id) DESC
FETCH FIRST 1 ROWS WITH TIES