MySQLの複数の値と列から最適な一致を見つけます。MySQLの複数の値に最適一致
データベース:
id star point price
1 12 15 16
2 9 15 16
3 18 10 12
検索は、あなたが距離メトリックを必要とし、この
star point price
10 15 14
結果
id: 2
MySQLの複数の値と列から最適な一致を見つけます。MySQLの複数の値に最適一致
データベース:
id star point price
1 12 15 16
2 9 15 16
3 18 10 12
検索は、あなたが距離メトリックを必要とし、この
star point price
10 15 14
結果
id: 2
に閉じます。しかし、あなたがそれを持っている場合は、order by
とlimit
を使うことができます。
select t.*
from t
order by pow(star - 10, 2) + pow(point - 15, 2) + pow(price - 14, 2)
limit 1;
注:あなたは、ユークリッドメトリックを使用するのであれば、平方根はユークリッドメトリックで注文するために必要とされていません。
甘い!この数字がベストマッチよりも高い場合は、これもクローズ番号を見つけることができますか? – user2673664
@ user2673664 。 。はい。あなたは類似性を求めているルールを指定しておらず、ユークリッド距離は単に値の差に基づいています。 –
)これまでに何を試しましたか? b)「ベストマッチ」は正確に何を意味しますか?たとえば、星の列は価格よりも重要ですか? – Sirko
私は1つの値で試しただけです。しかし、私は複数の価値のための最良の一致をチェックする必要が今失われます。誰かがもっと重要であるべきかどうかは分かりません。それについて考える必要がある – user2673664