アイテム間の比較をmysqlテーブルに保存したいと思います。たとえば、次の3つのアイテムがあります。
- id:1、名前:アイテムA、comparisionScore:1
- id:2、名前:アイテムB、比較スコア:2
- id:3、名前:アイテムC、比較スコア:3
つまり、比較するときは、comparationScoreが大きい方が良いということです。ただし、新しいアイテムをテーブルに挿入する場合、このメソッドは失敗します。これは、アイテムAよりも良く、アイテムBよりも悪い、たとえばアイテムDです。したがって、整数のみを格納する必要がないため、次のことができます。
- id:1、名前:アイテムA、comparisionScore:1
- id:2、名前:アイテムB、比較スコア:2
- id:3、名前:アイテムC、比較スコア:3
- id:4、名前:アイテムD、比較スコア:1.5
最悪なのは、追加する新しいアイテムの数がわからないため、この目的のための十分な数がないことです。たとえば、範囲を2で割ると、結果は次のようになります。
- id:1、名前:アイテムA、comparisionScore:1
- id:2、名前:アイテムB、比較スコア:2
- id:3、名前:アイテムC、比較スコア:3
- id:4、名前:アイテムD、比較スコア:1.5
- id:5、名前:アイテムE、比較スコア:1.75
- id:6、名前:アイテムF、比較スコア:1.875
- id:7、名前:アイテムG、比較スコア:1.9375
- id:8、名前:アイテムH、比較スコア:1.96875 .. ..
アイテムZがアイテムAよりも良く、アイテムHよりも悪い場合、Zが1.9999...と2の間で取ることができる二重の値はありません。
それで、MySQLデータのアイテム間の比較データを保存するために他にどのような方法を使用できますか?
その表を見て、ユーザーがアイテムAとアイテムDのどちらが良いかを尋ねたときに答えられるはずです。