问题标签 [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 投票
3 回答
4337 浏览

nhibernate - 为什么 ROW_NUMBER OVER(ORDER BY 列)返回的结果顺序与 ORDER BY 列不同?

我在 SQL Server 2008 上,使用 NHibernate 作为持久层(尽管我相信这个问题纯粹是 SQL)。

我将问题归结为以下 SQL 语句:

这是 NH 为检索分页结果集而生成的查询的一部分。上面的语句给了我以下结果:

但是,如果我省略 ROW_NUMBER() OVER (ORDER BY this_.IsActive) - 这是 NH 为在第一页上检索结果而生成的 - 我会在结果中得到两个完全不同的表条目:

返回

这完全让我感到困惑,并导致我们的应用程序出现错误,在该错误中,我得到与搜索的第一页和第二页上的第一个元素相同的 Campsite 条目。

为什么相同的 ORDER BY 子句在 ROW_NUMBER OVER() 表达式中的工作方式不同?

0 投票
4 回答
1213 浏览

sql - 有趣的 Row_Number() 错误

我正在使用Stack Exchange 数据资源管理器并运行此查询:
https ://data.stackexchange.com/stackoverflow/query/2820/rising-stars-top-50-users-ordered-on-rep-per-day

请注意,在结果中,第 11 行和第 12 行具有相同的值,因此编号错误,即使 row_number() 函数采用与查询相同的参数顺序。

我知道这里的正确解决方法是在 order by 子句中指定一个额外的 tie-breaker 列,但我更好奇 row_number() 函数为什么/如何在相同数据上返回不同的结果?

如果它在任何地方都产生了影响,那么它可以在 Azure 上运行。

0 投票
4 回答
4589 浏览

sql-server - Row_Number() 使用 ORDER BY CASE 时的 CTE 性能

我有一个表,我想对其进行分页和排序,并且能够获得类似于以下内容的查询来完成工作(真正的查询更多地涉及连接等)。

ORDER BY Date desc问题在于,与普通子句相比,使用 CASE 语句时性能会严重下降(至少减速 10 倍) 。查看查询计划,所有列似乎仍在排序,即使它们与 @sortCol 限定符不匹配。

有没有办法让它以接近“本机”的速度执行?动态 SQL 是解决这个问题的最佳选择吗?谢谢!

0 投票
8 回答
183788 浏览

postgresql - postgresql中的Rownum

有什么方法可以在 postgresql 中模拟 rownum 吗?

0 投票
2 回答
4396 浏览

gwt - 向 GWT CellTable 添加行号列

我需要在 a 中插入一个新的第一列CellTable,并在其中显示RowNumber当前行的。在 GWT 中执行此操作的最佳方法是什么?

0 投票
3 回答
1207 浏览

tsql - EF4 SPROC 复杂类型映射 - ROW_NUMBER() 问题

我已经使用 EF4/存储过程/复杂类型有一段时间了,但我以前没有见过这个问题。

我有一个存储过程,它返回一堆字段,映射到复杂类型的集合。在我介绍这个额外的字段之前一切正常。

它使用ROW_NUMBER来自 T-SQL(用于排名结果):

在我的复杂类型中,我将此设置为不可为空的 Int32,并且我也在使用 POCO,因此我将其作为intPOCO 的常规设置。

但是当我尝试执行查询时,我得到了这个错误:

System.InvalidOperationException:“RankedLocationSearchResult”上的“SearchRank”属性无法设置为“Int64”值。您必须将此属性设置为“Int32”类型的非空值。

我只是不明白。我没有说过这个属性/字段是 Int64。我的属性“Int32”类型的非空值。

现在,我确定问题出在 ROW_NUMBER()上。

因为如果我将该 T-SQL 更改为只是1 AS [SearchRank](硬代码,用于测试),它就可以正常工作。

这几乎就像 EF 认为ROW_NUMBER()返回 Int64 一样。

为什么?我们是否必须将其转换为 32 位整数或其他内容?

有人有这个问题吗?

0 投票
2 回答
315 浏览

mysql - sql循环和设置属性

在 SQL 中,我想按 pageNumber 顺序查询一个列表

然后,我想根据他们在查询中的索引设置他们的 pageNumbers(从 1 而不是 0 开始)。

这是我所需功能的伪代码;其中 list 是上面 Select Query 的返回值。

例如我可能有 pageNumbers 5, 17, 23, 24, 18, 7

ORDER BY pageNumber ASC 会将其排序为5, 7, 17, 18, 23, 24

然后我想更改 pageNumbers 以便1, 2, 3, 4, 5, 6

编辑:

@fortheworld MySQL

@cyberkiwi 更新

很抱歉不清楚。我想我需要了解更多信息才能清楚我的问题:) 感谢您的所有帮助

0 投票
1 回答
452 浏览

sql-server-2005 - ROW_NUMBER() SQL 2005 查询返回空值

ROW_NUMBER()由于空值,我在比较 SQL Server 2005 中使用的表的两个不同时期的数据时遇到了一些问题。

如果有人可以给我一些帮助,我会很高兴。

这是查询:

0 投票
2 回答
423 浏览

sql - 使用当前行中的字段对上一行应用增加

我有一个像这样设置的临时表:

但是,我需要将当前行的费率乘以上一个总数,然后将其添加到当前总数中……得出新的总数!

所以 3276 的 1% 是 32.76。

3276 + 32.76 = 3308.76。

3308 的 1% 是 33.08。

3308.76 + 33.08 = 3341.85。

等等。

我尝试创建一个 CTE,就像这样..

...但它不工作:(

任何人都可以帮忙吗?

我正在使用 SQL Server 2005!

提前致谢!

0 投票
3 回答
5857 浏览

sql-server-2005 - SQL 查询:如何直接获取编号为 1000 的行的数据?

如果我有一个Persons包含大约 30000 行的 SQL 表,并且我想进行一个 SQL 查询来检索行号 1000 的数据......我通过以下查询以非专业方式得到它

但我觉得这是一个更优化的查询,可以做到这一点……任何能引导我完美查询吗?
注意:表包含名为“ID”的 PK 列,但它不是连续的