簡體   English   中英

如何從SQL中的表中列出3個最大的數字?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM