首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >oracle查询交替记录

oracle查询交替记录
EN

Stack Overflow用户
提问于 2018-04-18 10:33:51
回答 2查看 48关注 0票数 0

我有一个表,看起来像这样:

代码语言:javascript
复制
SEQ     TICKER     INDUSTRY
1        AAPL        10
1        FB          10
1        IBM         10
1        CSCO        10
1        FEYE        20
1        F           20
2        JNJ         10
2        CMPQ        10
2        CYBR        10
2        PFPT        10
2        K           20
2        PANW        20

我需要的是具有相同行业代码的记录,以便在1和2记录之间交替,如下所示:

代码语言:javascript
复制
1   AAPL   10
2   IBM    10
1   FB     10
2   CSCO   10
1   FEYE   20
2   PANW   20

因此,基本上,按相同的行业代码分组,在1和2个记录之间交替。

不知道是怎么回事。

EN

回答 2

Stack Overflow用户

发布于 2018-04-18 14:17:07

使用分析函数为每个组(行业和序列)创建从头开始的行号,然后按该行号排序。

代码语言:javascript
复制
select seq, ticker, industry
    ,row_number() over (partition by industry, seq order by ticker)custom_order
from stocks
order by industry, custom_order, seq;

有关完整示例,请参阅this SQL Fiddle。(它与您的示例结果不完全匹配,但是您的示例结果不正确,或者这个问题有其他我不明白的地方。)

票数 0
EN

Stack Overflow用户

发布于 2018-04-18 14:56:21

我不知道你是如何得出问题中的示例结果的,但这个结果是:

代码语言:javascript
复制
| SEQ | TICKER | INDUSTRY |
|-----|--------|----------|
|   1 |   AAPL |       10 |
|   2 |   CMPQ |       10 |
|   1 |   CSCO |       10 |
|   2 |   CYBR |       10 |
|   1 |     FB |       10 |
|   2 |    IBM |       10 |
|   1 |    JNJ |       10 |
|   2 |   PFPT |       10 |
|   1 |      F |       20 |
|   2 |   FEYE |       20 |
|   1 |      K |       20 |
|   2 |   PANW |       20 |

是使用以下查询生成的,其中(我假设)您希望为您计算SEQ列:

代码语言:javascript
复制
select
       1 + mod(rn,2) Seq
     , ticker
     , industry
from (
      select
             ticker
           , industry
           , 1+ row_number() over (partition by industry
                                   order by ticker) rn
      from stocks
     ) 
order by industry, rn

请注意,这是Jon Heller先前回答的派生结果,该派生结果可在http://sqlfiddle.com/#!4/088271/1在线找到

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

https://stackoverflow.com/questions/49890254

复制
相关文章

相似问题

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