首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按组按顺序查找间隙

按组按顺序查找间隙
EN

Stack Overflow用户
提问于 2019-10-03 14:35:40
回答 1查看 146关注 0票数 1

我有不同城市和价值观的表格。我想按城市查找差距,所以我有表:

代码语言:javascript
运行
复制
City    Value
Helsinki 1
Helsinki 2
Helsinki 5
Kuopio   4
Kuopio   5
Joensuu  1
Joensuu  2
Joensuu  3

我想要一张按城市划分的空白表

代码语言:javascript
运行
复制
 City     Value
 Helsinki 3
 Helsinki 4
 Kuopio   1
 Kuopio   2
 Kuopio   3
 Joensuu  4
 Joensuu  5

我知道我可以使用conncet by

代码语言:javascript
运行
复制
select  rownum from dual connect by level<= 6 minus select value from table

但我不知道,我如何才能做到这一点的小组。

EN

回答 1

Stack Overflow用户

发布于 2019-10-03 14:54:49

您可以使用减号运算符来实现这一点--您最初的想法

代码语言:javascript
运行
复制
SQL> with city as (
  2  select 'Helsinki' as name, 1 as value from dual union all
  3  select 'Helsinki' as name, 2 as value from dual union all
  4  select 'Helsinki' as name, 5 as value from dual union all
  5  select 'Kuopio' as name, 4 as value from dual union all
  6  select 'Kuopio' as name, 5 as value from dual union all
  7  select 'Joensuu' as name, 1 as value from dual union all
  8  select 'Joensuu' as name, 2 as value from dual union all
  9  select 'Joensuu' as name, 3 as value from dual
 10  )
 11  SELECT NAME, LVL
 12  FROM (SELECT DISTINCT NAME FROM CITY)
 13  JOIN (SELECT LEVEL AS LVL FROM DUAL
 14          CONNECT BY LEVEL <= 5) ON ( 1 = 1 )
 15  MINUS
 16  SELECT NAME, VALUE
 17    FROM CITY
 18  ORDER BY 1, 2;

NAME            LVL
-------- ----------
Helsinki          3
Helsinki          4
Joensuu           4
Joensuu           5
Kuopio            1
Kuopio            2
Kuopio            3

7 rows selected.

SQL>

干杯!!

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

https://stackoverflow.com/questions/58213516

复制
相关文章

相似问题

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