小编aka*_*sky的帖子

算法问题:为每个主题选择两个故事,以便从不为两个不同的主题选择相同的故事

在我的工作场所,我偶然发现了以下需要解决的问题.尽管不是绝对必要的,但优选解决方案.

有一个包含一组故事的数据库,每个故事都有一组与之相关的主题.主题存储在表单(storyid,topicid)的单独表中.

问题是如何理想地选择5个主题(或至少2个,如果5个是不可能的),使得每个主题具有2个故事(或1,如果2是不可能的话),其在任何其他所选主题中不重复.该算法还必须返回与每个主题相关的"正确"故事.

这实际上是一个NP完全问题,没有有效的解决方案,超出了所有可能性的简单枚举,还是有一个有效的解决方案?

如果它没有有效的解决方案,请尝试证明它(虽然不是绝对必要).

如果它确实有一个有效的解决方案,请善待并发布.

php mysql algorithm combinations selection

16
推荐指数
1
解决办法
589
查看次数

LEFT JOIN on Max Value

假设我有以下两个表:

STUDENT
studentid   lastname   firstname
1           Smith      John
2           Drew       Nancy

STUDENT_STORY
studentid   dateline   storyid   status
1           1328313600 10        2
1           1328313601 9         1
2           1328313602 14        2
2           1328313603 12        1
Run Code Online (Sandbox Code Playgroud)

现在,我需要一个SQL查询,在学生故事表中选择每个学生以及该学生的最新故事.

我在尝试这个:

SELECT s.*, ss.*
FROM student AS s
LEFT JOIN (
    SELECT *
    FROM student_story
    WHERE student_story.studentid = s.studentid
    ORDER BY dateline DESC LIMIT 1
) AS ss ON (ss.studentid = s.studentid)
Run Code Online (Sandbox Code Playgroud)

但是,此查询不起作用.它抱怨s.studentid是子查询的where子句中的未知字段.

请建议我如何实现我想要做的事情.

谢谢.

mysql left-join

16
推荐指数
2
解决办法
4万
查看次数

是否有Silverlight支持的平面文件数据库?

我正在寻找一个平面文件(或无服务器)数据库,我可以连接到C#Silverlight应用程序.

必须有一个,但我找不到任何东西.

编辑: SQLite是一个平面文件数据库的例子.我视图中的平面文件数据库是任何不需要服务器的数据库.不幸的是,SQLite不适用于Silverlight.

我想要实现的是能够存储,更新和删除数据库中的条目.在我的应用程序中,有一个包含扇区和节点的图表.我希望能够编辑扇区并将其设置存储在数据库中,我希望能够在图表上添加/检索/编辑/删除节点.

数据库需要免费用于教育目的.

编辑:我需要在手机上使用这个数据库.所以听不到任何服务.当我说"无服务器"时,我的意思是无服务器,我甚至不能使用localhost服务器.它需要从文件中读取数据并写入文件.

谢谢.

c# database sqlite silverlight

7
推荐指数
1
解决办法
1625
查看次数

复制大型MySQL表的最快方法?

速度内存使用方面复制大型MySQL表的最佳方法是什么?

选项1.使用PHP,从旧表中选择X行并将其插入新表中.继续执行select/insert的下一次迭代,直到复制完所有条目.

选项2.使用INSERT INTO ... SELECT没有行限制的MySQL .

选项3.使用MySQL INSERT INTO ... SELECT,每次运行复制有限数量的行.

编辑:我不打算使用mysqldump.我的问题的目的是找到编写数据库转换程序的最佳方法.有些表已经改变,有些表没有改变.我需要自动执行整个复制/转换过程,而不必担心手动转储任何表.因此,如果您能够回答上述哪个选项最佳,那将会很有帮助.

mysql copy

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