首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在相同的查询中显示前5销售额和最低5销售

在相同的查询中显示前5销售额和最低5销售
EN

Database Administration用户
提问于 2016-03-01 02:08:52
回答 2查看 4.7K关注 0票数 -2

我希望在Oracle中,而不是在PL/SQL中,在同一个查询中显示前5名销售和最后5名销售。

EN

回答 2

Database Administration用户

发布于 2016-03-01 03:52:31

根据您的问题,您可能需要以下输出。

代码语言:javascript
运行
复制
SQL>DESC tbl_sales
 Name                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 SALES                          NUMBER

SQL> SELECT * FROM tbl_sales;

     SALES
----------
     1
     2
     4
     3
     5
     6

6 rows selected.

SQL> WITH t1 AS (
  select sales, row_number() over (order by sales desc) rn
  from tbl_sales 
),
t2 AS (
  select sales,row_number() over (order by sales asc) rn
  from tbl_sales
)
select t1.sales as "Top 5", t2.sales as "Min 5"
from t1 join t2 on t1.rn = t2.rn where  t1.rn<=5; 

     Top 5  Min 5
---------- ----------
     6      1
     5      2
     4      3
     3      4
     2      5
票数 2
EN

Database Administration用户

发布于 2016-07-01 02:56:47

我用PostgreSQL回答了这个问题,但原则应该是一样的。没有必要用CTE来解决这个问题。

首先,我为100个字段生成了一个具有随机值的示例表。

代码语言:javascript
运行
复制
CREATE TABLE sales AS
SELECT s, 
       trunc(random() * 100000 + 1) AS sales_amount, 
       random_string(10) AS vendor, 
       trunc(random() * 100 + 1) AS vendor_rating
FROM generate_series(1, 100) s;

生成表单的100条记录。

代码语言:javascript
运行
复制
"s";    "sales_amount";          "vendor";       "vendor_rating"
----    ---------------    ---------------       ---------------
  1;             98274;      "ULbPPdUTRR";                   59

于是,我运行了这个查询

代码语言:javascript
运行
复制
(SELECT *, 'Top 10' FROM sales
ORDER BY sales_amount DESC
LIMIT 5)
UNION
(SELECT *, 'Bottom 10' FROM sales
ORDER BY sales_amount ASC
LIMIT 5)
ORDER BY sales_amount DESC;

这提供了所需的结果,没有CTE。例如,这使得它可以移植到MySQL。注意字符串'Top 10‘和’底部10‘的用法--这个小“技巧”使得识别哪条记录属于哪个类别变得很容易。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/130855

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档