如何在 SQL 中列出 table 中最大的 3 个数字?

How to list 3 largest numbers from table in SQL?

我正在尝试合并两位 SQL 代码并从中列出三个最大的数字。 Here is table relation diagram

查询 #1:

SELECT MAX(d) AS deliveries
FROM (SELECT o.rider_id, COUNT(o.rider_id) d
FROM orders o
GROUP BY o.rider_id) AS alias; 

查询#2:

SELECT first_name, last_name
FROM users;

我的最终代码显示了所有名字和名字的完整列表,只是将 orders table 中的最大数字添加到所有这些名字中。我如何修改它以使其显示三个具有最大交付数量的名称?

SELECT u.first_name, u.last_name, MAX(d) AS deliveries
FROM (SELECT o.rider_id, COUNT(o.rider_id) d
FROM orders o
GROUP BY o.rider_id) AS alias
JOIN users u
GROUP BY u.first_name, u.last_name; 

如果您想要前 3 个(如果少于 3 个,则更少)然后使用您想要的属性排序,并使用限制:

SELECT u.first_name, u.last_name, MAX(d) AS deliveries
FROM (SELECT o.rider_id, COUNT(o.rider_id) d
FROM orders o
GROUP BY o.rider_id) AS alias
JOIN users u
GROUP BY u.first_name, u.last_name
ORDER BY deliveries DESC
LIMIT 3;