问题标签 [ranking]

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 投票
4 回答
3854 浏览

sql - 我应该如何处理 PostgreSQL 中的“从 y 中排名 x”的数据?

我有一张表,我希望能够为其呈现“Y 中排名 X”的数据。特别是,我希望能够以相对有效的方式呈现单个行的数据(即不选择表中的每一行)。排名本身非常简单,它是表中单个列的直接 ORDER BY。

Postgres 似乎在这方面提出了一些独特的挑战。AFAICT 它没有 RANK 或 ROW_NUMBER 或等效功能(至少在 8.3 中,我暂时坚持使用它)。邮件列表档案中的规范答案似乎是创建一个临时序列并从中选择:

当我只想从表中选择一行时(并且我想按 PK 选择它,而不是按排名),这个解决方案似乎仍然无济于事。

我可以将排名非规范化并将其存储在单独的列中,这使得呈现数据变得微不足道,但只是重新定位了我的问题。UPDATE 不支持 ORDER BY,所以我不确定如何构建一个 UPDATE 查询来设置排名(没有选择每一行并为每一行运行一个单独的 UPDATE,这似乎太多的数据库活动每次队伍需要更新时触发)。

我错过了一些明显的东西吗?这样做的正确方法是什么?

编辑:显然我不够清楚。我知道 OFFSET/LIMIT,但我不明白它如何帮助解决这个问题。我不是想选择排名第 X 的项目,而是尝试选择任意项目(例如,通过其 PK),然后能够向用户显示“在 312 中排名第 43”之类的内容。

0 投票
1 回答
158 浏览

sql - 搜索和排名结果

我正在尝试编写一个相对简单的算法来搜索多个属性的字符串

给定一些数据:

一些数据:

搜索字符串:“josh york”

结果应该是 [2, 1] 因为该查询字符串命中第二条记录两次,而第一条记录一次。

在这里假设不区分大小写是安全的。

所以这是我到目前为止在红宝石/活动记录中所拥有的:

我对这种方法的问题是它会产生大量查询(query_string.split.length * some_attributes.length)。

我可以通过减少查询数量以某种方式提高效率吗?

我可以在 ruby​​ 中进行排序,尽管如果可以以某种方式将其卡在 SQL 中,那也很好。

0 投票
1 回答
1454 浏览

sql - Oracle:查找预测排名列表的先前记录

嗨,我面临一个难题:

我有一张天气预报表(oracle 9i)(数百万条记录),其组成如下:

在哪里:

  • stationid指可以创建预报的众多气象站之一;
  • forecastdate指预测的日期(仅限日期而不是时间。)
  • forecastintervalforecastdate预测中的小时 (0 - 23)。
  • forecastcreated指做出预测的时间,可以提前很多天。
  • forecastvalue指预测的实际值(顾名思义)。

我需要确定给定stationid和给定forecastdateforecastinterval对的记录,其中 a 的forecastvalue增量超过名义数字(例如 500)。我将在此处显示条件表:

在上述情况下,我想提取第三条记录。这是预测值增加了名义(比如 100)数量的记录。

由于表的庞大规模(数以百万计的记录),并且需要很长时间才能完成(事实上时间很长,以至于我的查询从未返回),因此这项任务被证明是非常困难的。

到目前为止,这是我获取这些值的尝试:

0 投票
3 回答
1314 浏览

php - PHP排名系统数组排序

我开发了一个排名系统。我得到以下数组:

1,2 是类别 ID,然后是项目名称和每个项目的票数。我如何对数组进行排序,所以类别 ID 保持这样排序,但项目名称按投票数降序排列?

有任何想法吗?

提前致谢!

0 投票
2 回答
9060 浏览

mysql - MySQL Group By,每种类型的前 N ​​个数

我有一张这样的桌子:

我需要按升序排列的每个字母的前 2 个:

我该怎么做?使用 GROUP BY 获得前 1 名相当简单,但我似乎无法让它适用于多个条目

0 投票
3 回答
447 浏览

css - CSS样式的页面表格中的隐藏属性会降低网站功能吗?

在网站页面的 CSS 样式表中,我使用了很多隐藏属性overflow:hidden,例如display:none;

这对SEO有影响吗?这对搜索引擎 (SE) 友好吗?它会受到搜索引擎(SE)的惩罚吗?CSS样式的页面表格中的隐藏属性会降低网站功率吗?

0 投票
4 回答
1736 浏览

php - 在 PHP/CodeIgniter 中,如何根据学生的成绩计算班级和表格排名?

我有一个数据库表,其中包含学生的以下成绩信息:

然后,我根据成绩计算期末报告。我使用gpa来计算所申请的学分和总 GPA。基于这个整体 GPA,我想计算学生在班级和整体形式(年级)的排名。如果不先将这个排名保存到数据库中,我该如何做到这一点?另外,这可以从 CodeIgniter 的视图中完成吗?如果是这样,最好的方法是什么?

0 投票
2 回答
422 浏览

algorithm - 什么是“安全变量”?

我只是在读一篇关于不同排名算法的文章。我有点困惑的一件事是 stumbleupon 的算法:

(最初的 stumbler 受众/# 域)+((% stumbler 受众/# 域)+ 自然奖励 - 非朋友)-(% stumbler 受众 + 有机奖励)+ N

N 是一个“安全变量”,因此假设的算法是灵活的。它代表一个随机数。

有人可以向我解释 N 的目的吗?我不明白它如何使算法更灵活。

0 投票
6 回答
5090 浏览

python - 根据 Python 中的计数对多个列表的元素进行排名

我想根据元素在每个列表中出现的频率对多个列表进行排名。例子:

list1 = 1,2,3,4
list2 = 4,5,6,7
list3 = 4,1,8,9

result = 4,1,2,3,4,5,6,7,8 (4 计 3 次,1 计 2 次,其余计 1 次)

我已经尝试了以下方法,但我需要一些更智能的东西,并且我可以用任何数量的列表来做一些事情。

现在问题来了……我可以用 a3、a4 和 a5 一次又一次地做到这一点,但它太复杂了,我需要一个函数来解决这个问题……但我不知道如何……我的数学卡住了;)

已解决:非常感谢您的讨论。作为一个新手,我以某种方式喜欢这个系统:快速+信息丰富。你帮了我所有的忙!泰

0 投票
2 回答
1196 浏览

tsql - 在动态 TSQL 中使用 FREETEXTTABLE 列的优先级/权重

我有动态 sql,它使用 CONTAINSTABLE 执行分页和全文搜索,效果很好。问题是我想使用 FREETEXTTABLE 但将某些列的排名权重于其他列

这是我的原始 sql 和我想整合的排名权重(出于隐私原因,我已更改名称)

这是我想要整合的内容