草庐IT

mysql - 将试卷中相似的和/问题联系起来

我正在开发一个应用程序,该应用程序根据旧试卷创建问题数据库。我想维护一个表格,将插入的类似问题链接在一起。(我想到的表格是修改后的预定遍历树)。我的要求是:改变数字的应用题应该联系在一起应将专有名词/名称不同的应用题联系在一起。XYZ、ABC、PQR、MNO是等效的(例如三角形命名法)忽略标点符号和连词以及“小词”。标签!我用它的主题标记每个问题。数学问题与历史问题相似的可能性很少见。但是化学热力学问题可能类似于物理热力学问题。任何关于如何在算法方面进行的想法都将不胜感激。我还将处理包含数学符号的图像。我应该确保我所有的图像在“ALT”属性中都有LaTeX以确保它们太容易被该算法处理,

php - 从表中获取发音相似的名字

我有一个学生表stu_table,学生姓名字段是stu_name。在这张表中有很多学生,例如Mrinmoy、Minmoy、Minmay、Mrinmay、Tanmay、Rajesh、Susanta、Bireshwar等。我想去接那个名字听起来像Mrinmoy的学生 最佳答案 你可以使用MySQLSOUNDEX:SELECT*FROM`stu_table`WHERESTRCMP(SOUNDEX(`stu_name`),SOUNDEX('Mrinmoy'))但我认为它不是很准确,而且非常有限。SQLFIDDLE

MySQL - 在相似的时间戳上分组

查询:SELECTproject_id,COUNT(*)AScount,MIN(date_added)ASdate_start,MAX(date_added)ASdate_endFROMmy_tableGROUPBYproject_id,TIMESTAMPDIFF(MINUTE,date_added)我怎样才能做到这一点?我想对项目进行分组,以便一组中没有两个连续的项目相隔超过5分钟,但开始时间和结束时间可以相隔任意距离。有什么方法可以在数据库中执行此操作,还是我需要获取所有数据并在程序中计算出来? 最佳答案 好的,开始了:SELE

mysql - 在mysql中查找相似的句子

根据Findinghowsimilartwostringsare有几种方法可以计算两个字符串之间的相似性度量。Soundex是一种非常糟糕的算法,目前可用于mysql。是否有任何其他方法实现可用于mysql? 最佳答案 当然,有一个很好的Levenshteindistance的MySQL实现:CREATEFUNCTIONLEVENSHTEIN(s1VARCHAR(255),s2VARCHAR(255))RETURNSINTDETERMINISTICBEGINDECLAREs1_len,s2_len,i,j,c,c_temp,cost

mysql - 两个相似的sql查询之间的性能差异

做和做有什么区别:SELECT*FROMtableWHEREcolumnISNULL或-SELECT*FROMtableWHEREcolumn=0ISNULL是否比等同于常量更糟糕?用例出现在我有类似的地方:SELECT*FROMusersWHEREpayingISNULL(或添加一个额外的列)SELECT*FROMusersWHEREis_paying=0 最佳答案 如果我对您的问题的理解正确,那么您是在询问两种情况下的相对好处/问题:其中is_paying=0paying为空鉴于两者都在数据表中,我想不出为什么一个会比另一个表现

mysql - SQL-选择最相似的产品

好的,我有一个存储两个键的关系,一个产品ID和一个属性ID。我想找出哪个产品与给定产品最相似。(属性实际上是数字,但这会使示例更加困惑,因此已将其更改为字母以简化视觉表示。)产品属性Product|Attributes1|A1|B1|C2|A2|B2|D3|A3|E4|A最初这看起来相当简单,只需选择产品具有的属性,然后计算每个产品共享的属性数。然后将结果与产品具有的属性数量进行比较,我可以看出两种产品的相似程度。这适用于相对于其比较产品具有大量属性的产品,但当产品的属性很少时就会出现问题。例如,产品3将与几乎所有其他产品并列(因为A很常见)。SELECTProduct,count(A

php - MySql查询根据价格得到相似的结果

不知道这个问题的标题对不对,我的问题很简单。我有一个结果列表,为了简单起见,它只包含一个id和一个price:+----+-------+|id|price|+----+-------+|11|10||52|17||23|45||24|50||55|60||96|70||7|75||78|80||99|100|+----+-------+对于给定的ID/价格,我需要找到价格较低的前2条记录和价格较高的后2条记录。例如,对于id=55和price=60,结果将是:+----+-------+|id|price|+----+-------+|23|45||24|50||96|70||7|7

php - 如何在最大的数据库中查找相似的消息

我有一个包含2.000.000条消息的数据库。当用户收到一条消息时,我需要根据单词的出现在我的数据库中查找相关消息。我曾尝试运行批处理来汇总我的数据库:1-存储所有消息的所有单词(an、a、the、of、for...除外)。2-在所有消息和其中包含的单词之间创建关联(我还存储了该单词在消息中出现的频率。)然后,当我收到消息时:1-我解析单词(看起来像是我批处理的第一步。)2-在数据库中执行查询以获取按重合单词数排序的消息。但是,更新我的词库的过程和获取相似消息的查询非常繁重和缓慢。对于3000字节的消息,字库更新持续约1.2111秒。对于相同大小的消息,查询类似消息持续约9.8秒。数据

php - 合并相似的数组,PHP 或 MySQL

所以我有这个基于我所做的查询的数组:array(5){[1]=>array(5){["user_id"]=>int(659)["auth_id"]=>string(28)"uhhuhhoney"["username"]=>string(10)"MarkH"["avatar_date"]=>int(1374525025)["gravatar"]=>string(0)""}[2]=>array(5){["user_id"]=>int(326)["auth_id"]=>string(9)"rabits"["username"]=>string(9)"HankHill"["avatar_dat

mysql - 如何在 MySQL 中的两个不同表中选择相似的行(可能吗?)

我有两张表,我想获取所有拼写相似的学校或同一所学校的学校。例如:我的表_a:学校OldeSchool    NewSchool  Other,C.S.School MainSchoolTooCoolforSchool我的表_b:学校OldSchoolNewES  OtherSchoolMainSchool HardknocksSchool是否可以编写一个SELECT查询来查找两个表中拼写相似的学校。有没有办法在列上使用LIKE或通配符?例如:SELECTmy_table_a.school,my_table_b.schoolFROM`my_table_a`,my_table_bWHERE