问题标签 [row-number]

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 回答
724 浏览

sql-server-2005 - 如何从具有特定行号的表中删除或选择行?

我有一个关于 Microsoft SQL Server 2005 的问题。如何从具有特定行号的表中删除或选择行?

0 投票
1 回答
383 浏览

sql-server - 如何一次获取 sql 表中所有行的批处理?

我有一张有 4000 万行的表。
我想一次提取大约 200 万个并“处理”它们。
为什么?
处理超过 1000 万行的 Cos 处理会降低性能,并且经常超时。(我需要这个工作独立于数据大小,所以我不能一直增加超时限制。)
另外,我正在使用 SQL Server。

0 投票
3 回答
34964 浏览

sql - 在创建/插入时添加序列号 - Teradata

在 oracle 中,我们将在创建此表时在 select 上使用 rownum。现在在 teradata 中,我似乎无法让它工作。除非我一起使用 3 列,否则没有可以排序的列并具有唯一值(大量重复)。

旧的方式是这样的,

0 投票
5 回答
22112 浏览

sql - 如何加快 Oracle 中的 row_number?

我有一个看起来像这样的 SQL 查询:

本质上,是 ORDER BY 部分让事情变慢了。如果我要删除它,EXPLAIN 成本会下降一个数量级(超过 1000 倍)。我试过这个:

但这并没有给出正确的结果。有什么简单的方法可以加快速度吗?还是我必须花更多时间使用 EXPLAIN 工具?

0 投票
5 回答
24017 浏览

sql - 使用 Row_Number、order by 和 where 子句的 SQL 查询

我有以下 SQL 查询:

我要做的是选择查询的前 100 条记录

以下是问题:

  1. 显然,该order by条款不起作用。我注意到我必须在order by 2 DESC之后添加另一个子句(...) from ATABLE才能使我的查询正常工作。有什么我做错了吗?还是预期的行为?

  2. 如何添加where子句?假设我只需要选择表的前 100 条记录where COLUMN1 like '%value%'。我尝试在之后添加 where 子句,(...) from ATABLE但它产生了错误......

帮助?谢谢。

PS:我使用的是 Oracle 10g R2。

0 投票
1 回答
503 浏览

subsonic - SubSonic 和 Paging 使用 ROW_NUMBER ()

如何使用 SubSonic 启用 ROW_NUMBER () 进行分页?

0 投票
13 回答
225833 浏览

sql - SQL Server 中 Oracle 的 RowID 等价物

什么是 SQL Server 中 Oracle 的 RowID 的等价物?

0 投票
13 回答
943634 浏览

sql - 如何使用 ROW_NUMBER()?

我想用ROW_NUMBER()得到...

  1. 要获得max(ROW_NUMBER())--> 或者我想这也是所有行的计数

我试着做:

但它似乎没有工作......

  1. 使用给ROW_NUMBER()定的信息,即。如果我有一个名字,我想知道这个名字来自哪一行。

我认为这与我为 #1 尝试的类似

但这也不起作用......

有任何想法吗?

0 投票
1 回答
1603 浏览

mysql - 在另一个查询中引用 MySQL 子选择

我有一个基本的 MySQL 表terms,由idterm字段组成。

我想创建一个按字母顺序排序的字典索引(在字面意义上),它将在所选术语上方列出 10 个 10 个术语,在其下方列出 20 个。这方面的一个例子可以在这里找到http://www.urbandictionary.com/define.php?term=GD2&defid=3561357在左栏中,您可以看到突出显示的当前术语,以及上面的一些术语,还有一些在下面,全部按字母顺序排序。

众所周知,MySQL 不支持 ROW_NUMBER() 或类似的函数,因此我们最终求助于用户变量和子选择。我也无法使用用户定义的变量创建视图,因为 MySQL 不允许这样做。这是我设法想出的(并且有效):

第一个 SELECT 只是在整个按字母顺序排序的术语表中找出目标术语的行号。第二个 SELECT 使用该信息在其上方获取 10 个术语,在其下方获取 20 个术语。

我想知道是否有办法避免在第二个 SELECT 查询中运行子选择,而只引用第一个别名为ordered。是否有更有效的方法来完成此操作而无需手动创建临时表?我在这里做错了什么?

0 投票
4 回答
5400 浏览

c# - 组内的 LINQ-to-objects 索引 + 用于不同的分组(又名 ROW_NUMBER 与 PARTITION BY 等效)

经过大量的谷歌搜索和代码实验,我被一个复杂的 C# LINQ-to-objects 问题难住了,在 SQL 中,使用一对 ROW_NUMBER()...PARTITION BY 函数和一个或两个子查询很容易解决这个问题。

换句话说,这就是我在代码中尝试做的事情——基本要求是从列表中删除重复的文档:

  1. 首先,按 (Document.Title, Document.SourceId) 对列表进行分组,假设(简化的)类定义如下:
    /li>
  2. 在该组中,为每个文档分配一个索引(例如,索引 0 == 此来源中具有此标题的第一个文档,索引 1 = 此来源中具有此标题的第 2 个文档等)。我喜欢 SQL 中的 ROW_NUMBER() 等价物!

  3. 现在按 (Document.Title, Index) 分组,其中 Index 是在步骤 #2 中计算的。对于每个组,仅返回一个文档:具有最低 Document.SourceId 的文档。

第 1 步很简单(例如 codepronet.blogspot.com/2009/01/group-by-in-linq.html),但我对第 2 步和第 3 步感到困惑。我似乎无法构建一个无红色曲线的 C# LINQ 查询来解决所有三个步骤。

Anders Heilsberg 在此线程上的帖子是我认为如果我能正确使用语法,那么上面的步骤 #2 和 #3 的答案。

我宁愿避免使用外部局部变量来进行索引计算,如 slodge.blogspot.com/2009/01/adding-row-number-using-linq-to-objects.html 上所建议的那样,因为该解决方案会中断如果外部变量被修改。

最佳情况下,可以先完成按标题分组的步骤,因此“内部”分组(首先按 Source 计算索引,然后按 Index 过滤重复项)可以对每个“按标题”中的少量对象进行操作组,因为每个按标题组中的文档数通常低于 100。我真的不想要 N 2解决方案!

我当然可以使用嵌套的 foreach 循环来解决这个问题,但这似乎是使用 LINQ 应该很简单的问题。

有任何想法吗?