问题列表 - 第35530页

在SQL中实现黑客新闻排名算法

以下是Paul Graham描述黑客新闻排名算法的方法:

News.YC是公正的

(p - 1)/(t + 2)^ 1.5

其中p =点,t =年龄,以小时为单位

鉴于下表,我想在纯mySQL中做到这一点:

  • 表帖子的字段为postID(index)和postTime(timestamp).
  • 表投票的字段为voteID(index),postID和vote(整数,0或1).

投票领域的想法是投票可以被取消.出于排名的目的,vote = 0相当于没有投票.(所有投票都是赞成票,没有投票权.)

问题是如何构造一个返回前N个postID的查询,按照Paul Graham的公式排序.总共大约有10万个帖子,所以如果你认为需要缓存分数或任何东西,我很乐意听到有关这方面的建议.

(显然这不是火箭科学,我当然可以解决这个问题,但我认为有人在早餐,午餐和晚餐时吃SQL会让人感到震惊.而且在StackOverflow上提供它似乎很有价值.)


相关问题:

mysql sql ranking

13
推荐指数
2
解决办法
3008
查看次数

内部random()函数 - 它是如何实现的?

我们通常使用random()函数在C++中创建随机数.

使用void srand(unsigned int seed)可以改善结果,因为它会根据种子的值生成随机数.

谁能告诉我随机功能是如何实际实现的?

c++

7
推荐指数
2
解决办法
5217
查看次数

如何使用Perl对文本文件进行grep和排序?

我有一个简单的日志文件非常混乱,我需要它整洁.该文件包含日志标题,但它们都混杂在一起.因此,我需要根据日志标题对日志文件进行排序.没有静态行数 - 这意味着文本文件的每个标题没有固定数量的行.我正在使用perl grep来整理标题.

日志文件是这样的:

Car LogFile Header
<text>
<text>
<text>
Car LogFile Header
<text>
Car LogFile Header
<and so forth>
Run Code Online (Sandbox Code Playgroud)

我已经完成/搜索了一个简单的算法,但它似乎没有工作.有人可以指导我吗?谢谢!

#!/usr/bin/perl

#use 5.010; # must be present to import the new 5.10 functions, notice 
#that it is 5.010 not 5.10


my $srce = "./root/Desktop/logs/Default.log";
my $string1 = "Car LogFile Header";
open(FH, $srce);
my @buf = <FH>;
close(FH);
my @lines = grep (/$string1/, @buffer);
Run Code Online (Sandbox Code Playgroud)

执行代码后,终端没有显示结果.有任何想法吗?

perl grep text

5
推荐指数
1
解决办法
3万
查看次数

按匹配标记的数量对匹配的标记进行排序

我正在试图找出如何通过匹配的标签数量来订购带有匹配标签的商品.

假设您有三个MySQL表:

  • tags(tag_id, title)
  • articles(article_id, some_text)
  • articles_tags(tag_id, article_id)

现在让我们说你有四篇文章:

article_id = 1 有"幽默","搞笑"和"搞笑"的标签.

article_id = 2 有"滑稽","愚蠢"和"高飞"的标签.

article_id = 3 有"滑稽","愚蠢"和"高飞"的标签.

article_id = 4 标签"完全严重".

您需要找到article_id = 2至少一个匹配标记相关的所有文章,并按最佳匹配顺序返回结果.换句话说,article_id = 3应该先到article_id = 1第二,article_id = 4而不应该出现.

这是在SQL查询中单独使用的东西,还是更适合像Sphinx这样的东西?如果是前者,应该进行什么样的查询,以及应该为最高效的结果创建什么类型的索引?如果是后者,请进行扩展.

mysql tags search sphinx

10
推荐指数
1
解决办法
1227
查看次数

获取在数组中出现次数最多的项目

var store = ['1','2','2','3','4'];
Run Code Online (Sandbox Code Playgroud)

我想知道2在数组中看起来最多.我该怎么做呢?

javascript arrays algorithm search

22
推荐指数
3
解决办法
2万
查看次数

如何编写asp.net(.aspx)来显示系统托盘上的气球

我创建了一个名为discussion_monitoring.aspx的页面,用于欺诈监控,不礼貌的措辞监控.检测到时,我只想在系统托盘上显示气球.但我没有找到代码在任务栏系统托盘上显示气球.我发现的大多数示例代码都是在Windows窗体上,而不是webform.环境:ASP.Net 2.0,Windows XP.

asp.net c#-2.0

0
推荐指数
1
解决办法
1024
查看次数

在Qt中为QTime和QDateTime添加时间的问题

我无法抽出时间添加功能.我正在使用Qt4.这是代码片段,它产生两个相同的时间而不是100个不同的时间.

void main()  
{  
  QTextStream out (stdout);
  QTime t = QTime::currentTime();

  out << t.toString("hh:mm:ss") << " -> ";
  t.addSecs(100);
  out << t.toString("hh:mm:ss");
}
Run Code Online (Sandbox Code Playgroud)

qt qt4

2
推荐指数
1
解决办法
7811
查看次数

如何检查对象是否是"文件"的实例?

曾经在Python(2.6)中可以问:

isinstance(f, file)
Run Code Online (Sandbox Code Playgroud)

但是在Python 3.0中file被删除了.

现在检查变量是否为文件的正确方法是什么?What'sNew文档没有提到这个......

python python-3.x

3
推荐指数
2
解决办法
4552
查看次数

我可以在Entity Framework的Where方法中使用自定义委托方法吗?

Where<TSource>(this IQueryable<TSource> source, Expression<Func<TSource, bool>> predicate);
Run Code Online (Sandbox Code Playgroud)

我将参数传递给Where方法,如下所示:f => f.Id > 4.我可以传递委托方法而不是f.Id > 4吗?

.net c# delegates entity-framework

4
推荐指数
1
解决办法
2533
查看次数

如何使用IntelliJ Idea 9创建PHP项目?

我找不到如何使用IntelliJ Idea 9创建PHP项目.它只在创建项目时提供"Java模块"和"Maven模块".PHP插件已安装,但如何使用它?

php intellij-idea

6
推荐指数
1
解决办法
1万
查看次数