[英]How to list 3 largest numbers from table in SQL?
我試圖將兩位 SQL 代碼結合起來,並從中列出三個最大的數字。 這是表關系圖
查詢#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
表中將最大數字添加到所有名稱中即可。 如何修改它以使其顯示具有最大交付計數的三個名稱?
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 個,則更少),然后按您想要的屬性使用 order,並使用 limit:
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;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.