如何在出现平局时获得顶值



我很难弄清楚这个该死的问题。从我下面给出的数据和查询中,我想看看9月份租电影最多的电子邮件地址。

我的数据库中只有4个相关的表,它们被匿名化并缩短了:

表">

cust":

<表类>cust_idf_namel_name邮件tbody><<tr>1杰克丹尼尔斯jack.daniels@google.com2何塞。Quervojose.quervo@yahoo.com5吉姆梁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

最新更新