sql - SQL - 按 LIMIT 或 TOP 分组
问题描述
我有一个简单的选择查询,它返回按 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
然后我想从该结果中得到的只是前 5 个结果。我对 SQL 不是很好,所以我很难通过玩弄它来找到如何做到这一点,也不知道如何为谷歌搜索用词。如果有人可以提供帮助,那就太棒了。
编辑:这是获得上面结果的 SQL 查询。
SELECT customer.FullName, SUM(sale.SalesAmount)
FROM sale
LEFT JOIN customer
ON customer.id = sale.customerid
GROUP BY customer.FullName
所以它实际上是从销售表中拉出来并加入客户。我只想从该查询中获取前 5 个结果。我应该更具体。
解决方案
在 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
推荐阅读
- azure-data-explorer - 如何在 Kusto 资源管理器中查询大型结果集?
- reactjs - 如何隐藏 API 密钥并仍然运行 heroku 应用程序?
- javascript - 使用 Semantic-UI React 组件根据自动滚动到 React 中的内容
- html - 在 HTML 中使用“keyup”事件有哪些不同的方法?
- c++ - 在 C++ 中使用友元函数时如何避免访问错误?
- javascript - 网页元素不响应大小变化
- r - 用R中的部分匹配替换整个单词或单词
- kotlin - Intellij IDEA 在 build.gradle.kts 中的代码补全不起作用
- react-native - 排毒构建因抛出 YogaKit.modulemap' 未找到致命错误而失败
- node.js - 在 NodeJS Express 中使用两种不同的模式