问题标签 [top-n]

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 投票
1 回答
1400 浏览

postgresql - PostgreSQL:如何强制数据库使用“quicksort”排序方法而不是“top-N heapsort”?

实际上,我所有的问题都写在主题字段中。在PostgreSQL中以某种方式可能吗?可能在服务器配置级别,或者可以在查询或表的属性中配置?我几乎没有尝试用谷歌搜索它,但没有得到任何结果。所以你的帮助将不胜感激(如果我弄错了,甚至用正确的查询将我指向谷歌。提前谢谢。

0 投票
2 回答
2536 浏览

xml - 如何使用 XPath 获取与条件对应的 TOP N 元素

我有一个这样的 XML

我想用一个 xpath(我在 ac# 上下文而不是 xslt 模板中)获得值为 4 的 2 第一个元素,即

我会得到/root/el[position() <= 2 and @value=4] 0 元素,因为 position() 基于父节点,而不是当前子集。

我可以在 c# 中做到这一点,但是当我只需要 20 个节点时加载 1200 个节点似乎没用。

谢谢

0 投票
6 回答
4020 浏览

sql - 在 Oracle 中独立地从多个列中有效地查找前 N 个值

假设我有 300 亿行和多列,我想有效地独立找到每列的前 N ​​个最频繁的值,并且使用最优雅的 SQL。例如,如果我有

我想要top-1,那么结果将是:

我可能会想办法做到这一点,但不确定它们是否是最优的,这在有 300 亿行时很重要;并且 SQL 可能又大又丑,而且可能会使用太多的临时空间。

使用甲骨文。

0 投票
4 回答
14237 浏览

sql - 用于选择“下一个”记录的 SQL 查询(类似于 First 或 Top N)

如果某个记录不存在,我需要进行查询以返回下一个(或上一个)记录。例如考虑下表:

如果 7 不存在,我想查询 id 为 7 或更大的记录。

我的问题是,

  1. 这些类型的查询是否可以使用 SQL 进行?
  2. 在 DB 世界中,这样的查询叫什么?

谢谢!

0 投票
5 回答
9908 浏览

sql - 在Oracle中选择组的前n个元素

我有一个 Oracle 表,它有一个名称、值、时间列。基本上,该表用于记录对特定名称所做的更改、以前的值是什么以及更改的时间。

我需要制定一个查询来获取特定名称的前 n 个更改,并且输出应该包含表中的所有名称。有什么帮助/建议吗?

编辑:

我需要在 11 月 1 日、10 月 31 日、8 月 31 日和 Ravi 选择 Harish 的详细信息。

0 投票
9 回答
3262 浏览

sql - 找到第二高的薪水

好吧,这是一个众所周知的问题。考虑以下

我们需要找出第二高的薪水

不知何故不起作用...我没有得到正确的结果。谁能帮帮我。

0 投票
1 回答
573 浏览

nutch - nutch 1.3中的topN是什么?

我在网站中读到 nutch 从每个链接获取链接等于 topN。我有 4 个链接,但是当 nutch 抓取我的链接时,所有使用 nutch 返回的结果都等于 topN。这意味着如果我有 4 个链接并且 topN = 10,nutch 从所有链接中获取 10 个链接,而不是每个链接。爬行结束时我有 10 个链接。帮我。

0 投票
1 回答
360 浏览

mysql - MySQL 查询以根据多列值选择顶级相机选项

好的,所以我试图从下面的表格设置中获得一些关于如何确定相机的最佳选择的想法。这不是一个真实的场景,我只是想找出最好的方法或某种方法来做到这一点。

因此,camera table 具有唯一的条目 id(INT)、name(VARCHAR)、reviewRank(INT)、price(INT) 和 failRate(INT)。这是 TABLE 设置和插入代码的示例:

标准是reviewRank越高越好,价格越低越好,failRate越低越好。如果多个相机共享其中一列的最佳值,那么我们选择其他两列中具有最佳值的相机,或者如果多个相机在多列中具有相同的值,例如 CAMERA(3,'Camera 3',1 ,10,99) 和 CAMERA(4,'Camera 4',1,10,6) 然后最后一列确定结果。

基本上,在三列中的任何一个中具有最佳价值的任何相机都会自动成为顶级相机列表的候选者以供选择。但是,如果多个相机在同一列中具有最佳值,那么我们需要通过查看其他列的值来确定哪一个是最好的。

因此,使用查询上方的数据库状态将返回摄像机 (1,'Camera 1',5,100,1) 和 (4,'Camera 4',1,10,6),因为摄像机 id 1 具有最高的 reviewRank 和最低的 failRate 和相机 ID 4 和相机 ID 3 并列价格最低,但相机 ID 4 的故障率低于相机 ID 3。

所以基本上我试图找到一种方法来找到使用 MySQL 进行多列比较的最佳选择,如果可能的话,最好使用单个查询。

我最初的想法是这样的

然而,这显然是错误的,因为它没有涵盖所有可能的排列。在做了相当多的寻找解决这个问题的方法之后,我仍然不知道如何解决这个问题。

0 投票
1 回答
3881 浏览

sql-server-2008 - 每个组 SQL Server 的前 n 个平均值

我正在解决寻找平均处理时间的问题。我试图通过仅对最好的 80% 数据进行平均来消除异常数据。

我正在努力调整现有的每组前 N 个解决方案以执行每组的平均。使用 SQL Server 2008。

以下是该表的示例:

我希望它为每个OpID 取最低 80% 的 ProcessMin,并取该数组的平均值。任何帮助,将不胜感激!

* 更新 *

给定下表:

我希望这个输出:

请注意,由于每个 OpID 有 10 个数据点,因此它只会平均最低的 8 个值 (80%)。

0 投票
1 回答
422 浏览

sql - 使用附加条件oracle sql返回不同组的N个结果

我如何能够在一个 oracle 查询中为几个组提供 N 个结果。

有关示例,请参见下表:

有更多的行有更多的审计员和团队。我想为每个审核员安排 3 个团队,尽可能由 3 个不同的团队组成。

我已经在使用以下 SQL(针对此查询Get top results for each group (in Oracle)发布)为每个审计员返回 3 个团队,但有时他们会得到 3 个相同的团队,这并不理想(请参阅杰克)。