を類似度それに接続された1つ以上のカテゴリを持つことができます。たとえば、アイスクリームはデザート、コールドディッシュなどのカテゴリに関連付けることができます。だから多かれ少なかれ多くの関係。Countはこれを好きな私は、クエリを把握しようとしていると、それが行くのMySQL
table category
id int pk
name varchar(50)
table category_ingredient
category_id int
ingredient_id int
私は、どのように似ている2つの成分がそれらが共有するカテゴリを測定することであるかについての質問をしたいと言います。私の意味は、私のデータベースには3つの食材が含まれていると言うことができます:1,2,3。成分1はカテゴリー{1,2,3}に結合し、成分2はカテゴリー{3,4,5}に結合し、成分3はカテゴリー{1,2,3,4}に結合する。
私は1を成分に最も類似成分を探しますクエリを行う、ことになる:
Ingredient 3 100%
Ingredient 2 33%
クエリのこの種が達成される方法上の任意の考え?
「成分3」はなぜ「成分1」と100%類似しているのですか? ** A **にはカテゴリ '1'があり、B **には '1,2,3'というカテゴリがあり、これはBがAと100%類似していることを意味しますBがAの検索では機能しない追加のカテゴリを持っているので、最も良い33%です。 – Martin
上記のロジックを質問の例に適用すると、成分3は成分1が現れない1つのカテゴリ(合計4つ)を持つため、**ではなく** 100%ですが、75%です。 – Martin
@Martin私は彼が単にある成分のカテゴリーの何パーセントが他の成分にも存在していることを知りたいと思うと思う。 –