增加具有重复组的组的行号

2024-04-23

我正在研究 PLSQL (Oracle 12) 的查询,其中我需要增加每个组的数据集的行号。

我的问题与这个问题类似(增加组上的行号 https://stackoverflow.com/questions/11116275/increment-row-number-on-group)。但是,我的情况略有不同。我有同样的shade重复数据,并且我想在分组时保留原始顺序。

对于下面的数据

Level | Shade
-------------
1     | A
2     | A
3     | A
4     | B
5     | B
6     | B
7     | A
8     | A
9     | A

我想得到以下结果

Group | Shade | Amount
----------------------
1     | A     | 3
2     | B     | 3
3     | A     | 3

如果我使用 DENSE_RANK 函数排序Shade,我无法保留原始订单,这就是我得到的:

Group | Shade | Amount
----------------------
1     | A     | 6
2     | B     | 3

分组时如何保持原来的分组模式?


您可以使用行号的差异来定义组:

select Shade, count(*) as amount
from (select t.*,
             row_number() over (order by level) as seqnum,
             row_number() over (partition by shade order by level) as seqnum_s
      from t
     ) t
group by Shade, (seqnum - seqnum_s);

有点难以解释为什么会这样。如果您查看子查询的结果,就会很明显地看出为什么两者之间存在差异row_number()值标识连续的组。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

增加具有重复组的组的行号 的相关文章

  • MYSQL插入GB大小的巨大SQL文件

    我正在尝试创建 Wikipedia DB 副本 大约 50GB 但在处理最大的 SQL 文件时遇到问题 我使用 linux split 实用程序将 GB 大小的文件拆分为 300 MB 的块 例如 split d l 50 enwiki 2
  • WCF 模拟和 SQL 可信连接?

    我们有一个托管在 IIS7 下的服务 SQL 服务器的连接字符串设置为 受信任 为了进行身份验证 我需要在服务上设置模拟并让客户端启动模拟连接 有没有办法不设置模拟并仍然允许服务通过可信连接登录到 SQL Server 我们希望避免让客户端
  • 从用户定义的函数调用 sql

    SQL Server 2008 是否可以从用户定义函数中的变量执行 sql 或者使用存储过程是唯一的解决方案 我有一条sql语句保存在variabele中 mySqlStatement select from someTable 我想从用户
  • db2:使用不同表上的选择更新多行和字段

    对于 A 的所有行 其中 A x B z 是否可以使用不同表 B c B d 的值 c 和 d 来增加表 A a 和 A b 的字段 a 和 b 我对这个查询感到疯狂 DB2 和 SQL 标准在 UPDATE 语句中没有 FROM 子句 所
  • 创建每 5 分钟刷新一次的物化视图

    我创建了一个每 5 分钟刷新一次的物化视图 但是当我在物化视图上插入并执行选择时 我会得到相同的旧数据吗 需要手动刷新吗 CREATE MATERIALIZED VIEW MVW TEST REFRESH FORCE ON DEMAND S
  • Bigquery:如何声明数组变量并使用 select 语句设置数据?

    我试图在 BigQuery 上声明一个数组变量 但无法在变量中放入 SQL 语句 我找不到任何与此相关的主题 我想将表的所有列名放入变量中 所以我尝试了以下方法 DECLARE my array ARRAY
  • 无法通过 PyODBC 连接创建数据库

    我在用pyodbc in python 2 7 with MS SQL Server 2008R 这是我创建数据库的代码 SQL代码单独在SQL中工作正常 但在python中执行时崩溃 SQL command IF EXISTS SELEC
  • 如何解决postgresql中group by和聚合函数的问题

    我正在尝试编写一个查询来划分两个 SQL 语句 但它显示了我 ERROR column temp missed must appear in the GROUP BY clause or be used in an aggregate fu
  • 如何实现复杂的sql命令

    我在 MySQL 中有一个 sql 表 其中包含以下记录 user dob john 1 10 96 jane 3 4 97 jill 1 8 96 jack 2 9 00 jane 12 14 07 john 1 11 98 这是我要执行
  • SQL状态[99999];错误代码[17004];无效的列类型:1111 使用 Spring SimpleJdbcCall

    大家好 我正在使用 spring 简单的 JDBC 模板来调用 oracle 过程 下面是我的代码 步骤 create or replace PROCEDURE get all system users pi client code IN
  • 在 Oracle BI Publisher 中将数字转换为单词

    我有一个要求 我需要将发票总金额显示为 rtf 中的文字 我尝试过 but it doesn t show any thing Is there any RTF Tag to do such a requirement on layout
  • 将行连接成 CLOB

    关于这个主题有很多类似的问题 但我找不到任何解决方案来考虑最终结果对于 varchar2 来说太大的任何问题 所以我想做的就是改变这一点 Column1 Column2 1 Hello 1 world 1 please help 2 Tha
  • 在 Pandas 中按索引分组

    如何使用 groupby by 索引 1 2 3 它们的顺序相同 并获得属于每个索引范围的列分数的总和 基本上我有这个 index score 1 2 2 2 3 2 1 3 2 3 3 3 我想要的是 index score sum 1
  • 两列上的唯一索引是否意味着每一列上都有一个索引?

    我的架构中有一个表 它对两列有唯一约束 UNIQUE Column1 Column2 SQlite 文档告诉我 这在这些列上创建唯一索引 http www sqlite org lang createtable html 我的问题是 这是否
  • MySQL CREATE TABLE 语句上的外键错误(错误:150)

    我觉得我已经在一对非常简单的创建表语句上尝试了一切可能的方法 类型匹配 我尝试使用 ENGINE InnoDB 等 但很困惑为什么我收到外键错误 我已经离开 SQL 一段时间了 所以这可能是一个简单的问题 mysql gt CREATE T
  • Python Pandas:将参数传递给 agg() 中的函数

    我试图通过使用不同类型的函数和参数值来减少 pandas 数据框中的数据 但是 我无法更改聚合函数中的默认参数 这是一个例子 gt gt gt df pd DataFrame x 1 np nan 2 1 y a a b b gt gt g
  • 如何从 SQL Server 的表中获取列名?

    我想查询一个表的所有列的名称 我发现如何做到这一点 Oracle https stackoverflow com q 452464 419956 MySQL https stackoverflow com q 193780 419956 P
  • 如何获取Oracle中命名事务的名称?

    我想在触发器中使用事务的名称 以便将其写入列中 我尝试了这个 在 SQL Developer 中 set transaction name hello select DBMS TRANSACTION LOCAL TRANSACTION ID
  • 如何:SQL 还是 NOSQL?

    我还没有遇到过这个问题 但这就是我的想法 非常肤浅和简单化恕我直言 如果您有键值类型的存储 并且所有访问都是键查找 请使用 NOSQL 解决方案 如果您想要基于值 和子值 进行查找或者有一些更复杂的东西 例如联接 您会选择关系解决方案 事务
  • 神秘的 getClobVal()

    我有一个表 AKADMIN 其中包含 XMLTYPE 列 其名称为 XML 我想在该列中使用 getClobVal select t xml getClobVal t xml getClobVal t xml getClobVal as c

随机推荐

  • 带有图像和分隔符的完全对齐的水平菜单

    I would like to achieve this fully justified horizontal menu 对齐是通过 Flexbox 完成的并且有效 但是我也无法使分隔的中点对齐 它们是通过伪类使用 css content
  • 解决 SML/NJ 编译管理器中的库冲突

    我正在使用 SML NJ 110 79 其中包括对 Successor ML 项目定义的新结构的支持 其中 Fn https github com SMLFamily BasisLibrary wiki 2015 005 Addition
  • 如何访问小部件的属性

    我是 Yii 框架的新手 我正在尝试访问小部件的属性 比如说 CMenu 我想更改一些公共属性的值 如 activeCssClass firstItemCssClass lastItemCssClass htmlOptions 等 那么你怎
  • 如何在 sveltekit 应用程序中将菜单项设置为活动状态

    我一直在开发 sveltekit 应用程序 最近我的主导航菜单遇到了问题 当加载或刷新应用程序时 与当前 URL 对应的当前菜单项不会设置为活动状态 即菜单项 Home 的 URL 为 我很难在网上找到任何有用的东西来演示如何设置它 但我有
  • BND 将相同的包放入manifest.mf 的导出和导入部分

    我有一个 Vaadin 应用程序 我正在尝试使用 Maven BND 将其构建为一组 OSGI 包 我无法将捆绑包部署到 Apache Felix 因为某些依赖项无法解决 Apache Felix 抱怨找不到捆绑包 A 所需的包 XYZ 尽
  • 如何降级旧版 Android 中的 java.time 代码?

    我有这个简洁的代码 它生成两个日期之间的天数列表 然后是当天的日期 以及它在列表中的位置 最重要的是 所有日期都采用相同的格式 这使得很容易比较它们 Create list of days String s 2018 08 28 Strin
  • 用于 AR 的 Android 视频流捕获

    我希望能够从 Android 手机摄像头捕获视频 然后处理该视频 处理涉及向直播流添加一层 AR 这在安卓上可行吗 很确定应该是这样 我查看了android网站 http developer android com guide topics
  • 如何检测设备是否支持刘海屏?

    目前我面临着检测移动设备是否支持 Android 中的缺口显示的问题 任何人都可以帮助我吗 我需要使用 android studio 中的代码来完成此操作 Thanks 一些奥利奥设备也有凹口显示 如果您的目标是支持所有操作系统 那么您可以
  • Python:使用虚拟类来传递变量名称?

    这是后续返回一个字典的函数 其键是输入参数的名称 https stackoverflow com questions 9586305 python function that returns a dict whose keys are th
  • 比较 dateutil.relativedelta

    我正在尝试在两个相对增量之间进行 gt 比较 if relativedelta current date last activity date gt relativedelta minutes 15 以下是 Eclipse 中调试器窗口的输
  • 更改python文件的第一行

    我只需要读取一个大文件的第一行并更改它 有没有一种技巧可以使用Python仅更改文件的第一行并将其另存为另一个文件 我所有的代码都是用 Python 完成的 这将帮助我保持一致性 这个想法是不必读取然后写入整个文件 shutil copyf
  • 尝试用C语言创建链表

    我正在尝试用 C 语言创建一个链表结构 但我不太确定出了什么问题 我的错误是 linked c 6 2 error unknown type name linkedList linked c In function makeList lin
  • 如何将图像从 React 上传到 ASP.NET Core Web API?

    我在 mt 服务器端有 Web API 控制器 HttpPost CreateImage public void CreateImage FromBody ImageDTO img Image image new Image FileNam
  • Mule 文件入站轮询配置

    我想以特定的时间间隔一次从特定目录轮询 10 个文件 如果该目录中存在 250 个文件 Mule 文件入站应从 250 个文件中取出 10 个文件并处理它们 然后再处理 10 个文件等 我的轮询频率值为 10000 我尝试像这样应用 max
  • 递归获取所有孩子

    我需要递归地从嵌套对象中获取所有子对象 我已经写了一个函数来做到这一点 有点 但我认为它可以改进 我怎样才能让它更短更干净 我已经包含了我用于测试的数据以及我编写的需要改进的函数 let data id 1 child id 2 child
  • 从 GCM 2.0 迁移到 GCM 3.0 InstanceID API

    目前我已经在 Play 商店上发布了我的应用程序 并且在该项目中我正在使用 compile com google android gms play services 7 0 0 Google Play 服务库版本7 0在我的项目中使用 Go
  • 实体框架不创建数据库

    一直在使用 ASP NET MVC 3 项目尝试 Entity Framework 4 1 的 Code First 功能 但是 数据库 SQL Server 2008 R2 不会在应用程序启动时自动创建表映射 关于如何让它这样做有什么想法
  • C 中的动态二维数组分配

    我应该如何在 C 中分配动态数组 目前我有一个我写的函数叫做malloc2D看起来像这样 void malloc2D size t unitSize uint firstCount uint secondCount void pointer
  • 为什么我不能在 Laravel 路径中使用“php artisan”命令(Windows)

    我尝试在 Ubuntu 中学习 Laravel 命令 php artisan 在终端的 laravel 文件夹路径中工作 我刚开始在Win7中这样做 我在cmd exe中输入 cd c wamp www myproject 来更改larav
  • 增加具有重复组的组的行号

    我正在研究 PLSQL Oracle 12 的查询 其中我需要增加每个组的数据集的行号 我的问题与这个问题类似 增加组上的行号 https stackoverflow com questions 11116275 increment row