如何在 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;
我正在尝试合并两位 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;