我正在研究以下模式(粗体文本代表 pk,“:”代表引用表):
用户(用户名,姓名,姓氏);
产品(id,名称,数量);
购买(用户:用户,产品:产品,日期和时间,购买数量);
我想查找购买次数最多的用户的姓名和姓氏。
首先,我使用嵌套查询找出每个用户的购买次数,然后选择购买 >= ALL 这些值的用户:
SELECT name, surname, username
FROM users JOIN purchases ON username = user
GROUP BY name, surname, username
HAVING count(*) >= ALL(
SELECT count(*)
FROM utenti JOIN acquisti ON username = user
GROUP BY username)
是否有另一种方法可以在不使用嵌套查询的情况下实现相同的目标?
提前感谢您的宝贵时间。