sql - 从 sqlplus 查询中选择顶部行

标签 sql database plsql sqlplus oracle-xe

我有一个问题

select sum(pur.purchase_net_invoice_value), par.party_desc  from purchase pur
join party par
on par.party_id = pur.party_id
group by par.party_desc;

运行良好。

我只想获得查询的前五行并丢弃其他行。

最佳答案

您可以为此使用 rownum 伪列:

SELECT * 
FROM (SELECT   SUM(pur.purchase_net_invoice_value), par.party_desc
      FROM     purchase pur
      JOIN     party par ON par.party_id = pur.party_id
      GROUP BY par.party_desc
      ORDER BY 1 DESC)
WHERE rownum <= 5;

关于sql - 从 sqlplus 查询中选择顶部行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23308638/

相关文章:

sql - 如何使用Group By子句合并两个sql server表?

mysql - 优化 AWS Aurora 实例的写入性能

在 C 中将 gwan 与 aerospike db 连接起来

sql-server - 在分区之间分离数据库文件和传输日志的用处

sql - 根据标准化值选择前 N 列

sql - 如何执行作为 sp 参数传递的 sql 文本?

mysql - MySQL 中何时使用单引号、双引号和反引号

sql - (Oracle SQL)捕获唯一约束错误

c - 无法链接预编译文件

php - MySQL '=' 运算符没有返回结果