问题标签 [rownum]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1965 浏览

rownum - 在 GROUP BY、ORDER BY 查询后自动增加虚拟列

在发布此之前,我已经对自动增量进行了广泛的研究,但找不到类似的案例:

我有一个查询从主表中提取数据,按 player_id 分组并按点 desc 排序,因此创建了排名输出。我的目标是进行相同的查询,一旦完成聚合和排序数据,创建一个新列“排名”并自动递增它,以便显示 1、2、3 等,因为所有内容都已按玩家分组并按点 DESC 排序。

多谢你们。

源表示例:

player_id-----------积分-----

---1-------5----------

---1--------10---------

---1-------5---------

---2-------20---------

---2-------5---------

根据此示例的所需输出:

排名------player_id-----score-----

---- 1 ----------2------------25分 ---------

---- 2 ----------1------------20 分 ---------

编辑

Rownum 做得很好,不需要自动增量虚拟列!请参阅下面 Mutnowski 接受的答案。

0 投票
4 回答
1824 浏览

django - Django排名解决方案

我正在尝试建立一个简单的排名系统,我按“分数”和“ID”对科目进行排序。我最初通过在 SQL 中设置“rownum”变量并像这样调用“Rank”来构建这是 PHP:

我可以从 Queryset 中对其进行索引,但我也没有弄清楚如何做到这一点。关于如何在 Django 中完成此任务的任何想法?

该模型:

提前致谢!

0 投票
2 回答
5036 浏览

oracle - ORA-03113 文件通信结束

我正在使用来自 VB6 的 rownum 运行一个长查询(有很多子查询),它在大约 1 分钟后给出 ORA-03113 文件结束通信。Toad 的查询运行良好。当从没有 ROWNUM 的 VB6 运行相同的查询时,查询工作正常。这也是参数化查询,如果我删除参数并直接在查询中输入值,那么还会从 vb6 查询运行罚款。

几天前,此查询运行良好。现在不是。

我尝试增加连接超时,但 1 分钟后仍然出现错误。谁能建议可能是什么问题?

0 投票
2 回答
138 浏览

multithreading - Oracle 中的慢内部 N 选择

我最近想出了一个问题。我们想分批从 Oracle DB 中获取数据表,其中一个批次例如为 4-5000。我以前的“一般”解决方案是将选择包装成以下某种东西:

似乎很慢,因为当 rownum 边界很高(例如 4-500.000)时,选择将花费超过 10-20 秒。随着我增加值,时间线性增加。我当然知道为什么,所以我想找到另一种解决方案来批量获取数据,但有保证的时间框架。那么我使用了这种选择:

这有点慢(获得一批测试数据需要 3-4 秒),但我可以增加批量大小而不会出现明显的性能下降,并且对于高值也是如此。当前的问题是我从数据库的多个线程中的多个表中进行选择,如果我只使用 3 个线程,性能就会下降到地狱(我们不是在谈论当前用于项目的 16 个)。JDBC 连接是池化的,性能下降在服务器端。我认为很明显 select 正在消耗 CPU 时间,所以我无能为力,但我希望大家对如何优化它有一些提示或技巧。

另一个问题是我们使用的工具不是特定于项目的,它必须尽可能通用,所以我不能使用复制表等。

感谢您提前回答

0 投票
2 回答
2116 浏览

oracle11gr2 - 在oracle中通过rownum更新设置行值

数据库版本:oracle 11gr2,我的表是这样的:

我期待的更新是这样的:

但是更新视图中不允许使用分析功能:

毫无疑问,它会导致 ORA-01732。如何放置更新查询?

0 投票
2 回答
3270 浏览

sql - Oracle Rownum 演员表

我正在尝试创建一个复杂的视图,该视图将通过 MS-SQL 服务器中的链接服务器进行访问。我遇到的问题是查询使用 ROWNUM 生成 ROWID。

生成的 ROWID 的数据类型为 NUMBER,但这显然给我带来了问题,如果我能把它变成 NUMBER(在此处插入大小),一切都会好起来的。但我不确定这是否可能。

我无法提供完整的查询和列名(工作限制),但这里是 SQL Developer 中查询返回的列类型

列类型

我认为问题在于返回的 ROWNUM 数据类型是 Number 而不是 NUMBER(20) 或类似长度,并且这种交叉是我在链接服务器错误方面看到的问题,但如果有人知道不同,请告诉我;)

0 投票
4 回答
7412 浏览

database - 使用 rownum 的 Oracle 查看性能

我正在使用 Oracle 10g,并且我有一个连接两个大表(数百万条记录)的视图。我正在尝试为用户选择有限的“样本”数据,如下所示:

它很慢,我认为不应该,因为我只需要几行结果,所以Oracle不应该计算全连接。

要求是用户应该能够以交互方式指定返回的行数(结果中的哪些行并不重要)。有什么办法可以做到这一点?(使用 rownum 或使用其他方法)

(我可以更改视图定义或最终 SQL 的构建方式,但据我所知,我无法将有关所需行数的信息动态传递给视图)

编辑:视图定义非常简单,如下所示:

解释计划提到了两个表的全表访问,这并不奇怪,因为只返回前几行应该不会花费很长时间。

EDIT2:这是完整的计划

0 投票
0 回答
412 浏览

performance - jqGrid冻结行头(rownum)

我正在尝试冻结网格的 rownum 列。因为我已经用有意义的行描述替换了 rownum 的文本。
我从 jqgrid 冻结列演示中获得了帮助。但它不适用于 rownum 列。我的网格加载本地数组数据并使用版本 jQgrid 4.3.2 在他之后我尝试了另一种方法来冻结具有属性的第一列

我得到以下问题:

  • 网格加载变得异常缓慢(在 IE、Firefox 中测试)
  • 在页面加载后经过长时间的等待,行标题对齐被扭曲。所有的 rowheaders 都会上移一级并与 Caption div 重叠。

Row1Header 进入 Caption 位置 - Row2Header 进入 Row1 等等..

我的最终要求是冻结行头。任何帮助深表感谢。

谢谢

0 投票
2 回答
932 浏览

sql - 根据在另一个表上找到的值从 ms 访问数据库中获取可变数量的行

我花了一整天的时间试图为这个问题想出一个解决方案,但我仍然不知道:

我在一个表用户中有以下字段:

  • ID
  • 姓名
  • city_id
  • 分数

在另一个表城市中,有两个字段:

  • ID
  • 用户数

我要做的是从城市中的 users_number 字段指定的用户表中获取最上面的行,但首先,按分数对获取的行进行排序。用户数量远大于 users_number 指定的值。

我的问题是:

是否有可能从表users中选择条件是表city中的行数?

谢谢你

0 投票
2 回答
1764 浏览

sql - Oracle 在评估 rownum 之前是否获取所有行?

我有一张将有数百万条记录的表。

我想确保只要 Oracle 找到第一个匹配项,它就会停止查找。

我听说 Oracle 将获取所有符合 column1 和 column2 条件的行,然后只应用 rownum 过滤器来获取第一行,这违背了目的。