1
G'day,我試圖開發一種方法來查詢值和失敗之間的兼容性或相似性。它不是最高或最低的AVG評級,而是一個或多個數值之間的最小差異。因此,如果結構類似於以下內容,其中RANK是USER的「評級」。MySQL兼容性或相似性排名查詢
USER ITEM RANK
A x 5
B x 6
C x 2
A y 2
B y 3
C y 8
A z 7
B z 4
C z 4
在最後我想能夠跨對數據進行排序,如:
用戶A對用戶B具有3
用戶A的平均等級差Vs用戶C具有平均4
用戶B對用戶C的評分差異有5
我唯一的想法的平均等級相差這麼遠是建立一個臨時表(巨大)與每一個排列:
col1 col2 dif item
A B 1 x
A C 3 x
等等 ,然後用GROUP總和。但是,對於用戶A和C在某些項目上更接近並且對其他項目的差異大於初始接近度的場合,這仍然無法正確處理。任何人都可以給的方向?
謝謝!
這是一個MySQL 5.5分貝,所以我錯過了任何CTE或類似的查詢結構。
謝謝!在收集每個項目等級的結果方面做得很好,即使它將結果加倍。在多個項目中查找具有最低組合diff_rank的用戶對仍然無法解決。我想我可以編寫每個用戶對的數組腳本,並在mysql之外添加diff_rank?也可以過濾a.user-b.user b.user-a.user重複。儘管我可以在mysql中完成所有工作。 – barnamos
答案已更新.. – scaisEdge