我有一个简单的选择查询,它返回按CustomerName分组的SaleAmount的摘要。
以下是查询结果的示例:
Customer Name | SaleAmount (in millions)
-----------------------------------------
John Doe - 10.5
Jane Doe - 8
Don Johnson - 7
Bill Joel - 6
Ron Swanson - 5
Bret Faker - 4
Johnny Apple - 3
El Merfud - 2
我希望从该结果得到的只是前五名的结果。我对SQL并不是很擅长,所以我很难通过玩弄它来找到如何做到这一点,也不确定如何用它来搜索谷歌搜索。如果有人能提供帮助那就太棒了。
编辑: 这是获取上面结果的SQL查询。
SELECT customer.FullName, SUM(sale.SalesAmount)
FROM sale
LEFT JOIN customer
ON customer.id = sale.customerid
GROUP BY customer.FullName
所以它实际上从销售表中拉出来并加入了客户。我只想从该查询中获取前5个结果。我应该更具体一点。
答案 0 :(得分:0)
在SQL Server或MS Access中:
SELECT TOP 5 CustomerName, SaleAmount
FROM yourTable
ORDER BY SaleAmount DESC
在MySQL中:
SELECT CustomerName, SaleAmount
FROM yourTable
ORDER BY SaleAmount DESC
LIMIT 5
答案 1 :(得分:0)
ANSI SQL
中有OFFSET FETCH
SELECT CustomerName, SaleAmount
FROM your_table
ORDER BY SaleAmount
OFFSET 0 ROWS
FETCH NEXT 5 ROWS ONLY