Php 如何在MySQL中找到具有数字字段的类似行?
我有一个储存歌曲信息的数据库 资料如下: 歌曲的响度介于-100和100之间, 歌曲的能量介于0和1之间, 歌曲的节奏在0到500之间, 介于0和1之间的歌曲的可舞蹈性 我需要找到两首相似的歌曲 例如: 一首歌有这样的信息 响度:-9.121000000000000 能源:0.439501478057000 节奏:133.92900000000000 舞蹈性:0.68652344822000Php 如何在MySQL中找到具有数字字段的类似行?,php,mysql,Php,Mysql,我有一个储存歌曲信息的数据库 资料如下: 歌曲的响度介于-100和100之间, 歌曲的能量介于0和1之间, 歌曲的节奏在0到500之间, 介于0和1之间的歌曲的可舞蹈性 我需要找到两首相似的歌曲 例如: 一首歌有这样的信息 响度:-9.121000000000000 能源:0.439501478057000 节奏:133.92900000000000 舞蹈性:0.68652344822000 我怎样才能找到与这首歌相似的歌曲。MySQL有一个很好的中间操作符: 所以你可以这样做: SELECT
我怎样才能找到与这首歌相似的歌曲。MySQL有一个很好的中间操作符: 所以你可以这样做:
SELECT * FROM songs WHERE loudness BETWEEN -9.121-1 AND -9.121+1;
只需添加所需的所有条件,并按对您重要的列进行排序。MySQL有一个很好的中间运算符: 所以你可以这样做:
SELECT * FROM songs WHERE loudness BETWEEN -9.121-1 AND -9.121+1;
只需添加您想要的所有条件,并按您认为重要的列进行排序。关于这个广泛的问题,有许多可能性 您可以选择所有具有相同响度或相同能量、节奏或舞蹈性的歌曲 或者是两者的结合 您可以选择在value+或-x%范围内具有相似值的所有歌曲
您可以将整个表输出到屏幕,并使用tablesorter插件对各个列的输出进行排序。关于这个广泛的问题,有许多可能性 您可以选择所有具有相同响度或相同能量、节奏或舞蹈性的歌曲 或者是两者的结合 您可以选择在value+或-x%范围内具有相似值的所有歌曲
您可以将整个表输出到屏幕,并使用tablesorter插件对各个列的输出进行排序。我想您希望值/值更接近您已经拥有的值。。。搜索时,我发现了这个问题: 我想你可能会觉得有趣。因此,根据那里写的内容,我们可以做如下事情:
$query = <<<query
(
select *
from songs
where loudness >= $given_loudness
AND
energy >= $given_energy
AND
tempo >= $given_tempo
AND
danceability >= $given_danceability
order by id asc
limit 1
)
union
(
select *
from songs
where loudness >= $given_loudness
AND
energy >= $given_energy
AND
tempo >= $given_tempo
AND
danceability >= $given_danceability
order by id desc
limit 1
)
query;
$res = mysql_query($query);
我认为您在歌曲表中有一个id,我认为您希望值/值更接近您已经拥有的值。。。搜索时,我发现了这个问题: 我想你可能会觉得有趣。因此,根据那里写的内容,我们可以做如下事情:
$query = <<<query
(
select *
from songs
where loudness >= $given_loudness
AND
energy >= $given_energy
AND
tempo >= $given_tempo
AND
danceability >= $given_danceability
order by id asc
limit 1
)
union
(
select *
from songs
where loudness >= $given_loudness
AND
energy >= $given_energy
AND
tempo >= $given_tempo
AND
danceability >= $given_danceability
order by id desc
limit 1
)
query;
$res = mysql_query($query);
我考虑过您在songs表中有一个id您的数值是如何存储的?列类型是什么?你如何分类相似的?可能的相似定义的重复-你认为它们相似的范围是什么?首先你必须决定什么相似的方法。如果两首歌都非常响亮,它们相似吗?我也想到了一个权重,一个相关的问题是。你的数值是如何存储的?列类型是什么?你如何分类相似的?可能的相似定义的重复-你认为它们相似的范围是什么?首先你必须决定什么相似的方法。如果两首歌都非常响亮,它们相似吗?我也想到了一个重量,一个相关的问题是。