私の友愛関係を促進するために、私は人々がお互いをどれだけよく知っているかを評価できるシステムを設計しようとしています。そうすれば、それはお互いを最も知らない人々と一致します。評価の表は次のようになります。
from_bro | to_bro | 評価 -------------------------- A | B | 5 B | A | 5 B | C | 2 C | B | 3 A | C | 5 C | A | 5
各ペアの評価の平均を選択するクエリを設計したいと思います。これまでのところ私はこれを持っています:
SELECT *、(m1.rating + m2.rating)/2AS平均 FROMはASm1と一致します LEFTJOINはASm2と一致します ON m1.from_bro = m2.to_bro AND m1.to_bro = m2.from_bro
これはほとんどの部分で機能しますが、冗長データが含まれています。
from_bro | to_bro | 評価| from_bro | to_bro | 評価| 平均 -------------------------------------------------- --------------- A | B | 5 | B | A | 5 | 5.0000 B | A | 5 | A | B | 5 | 5.0000 B | C | 2 | C | B | 3 | 2.5000 C | B | 3 | B | C | 2 | 2.5000 A | C | 5 | C | A | 5 | 5.0000 C | A | 5 | A | C | 5 | 5.0000
1行目と2行目、3行目と4行目、5行目と6行目は、重複していませんが、基本的に同じであることがわかります。それらの冗長な行を除外する方法はありますか?