假設我有我的數據庫中以下情況:
的第一個元素是用戶ID,第二個是一些數據,它的最後關口。排序在SQL通過比較法
1-1-1
1-2-2
1-3-4
2-4-1
2-2-1
3-1-5
3-3-1
3-2-5
4-2-2
4-1-1
5-4-1
5-6-2
我該怎麼做某種以及將由標記,如果數據是在用戶的另一個ID進行排序SQL查詢ID返回。
例如:如果我比較具有ID 1
與其他用戶的數據,它必須返回以下:
4-2-2
4-1-1
2-4-1
2-2-1
3-1-5
3-3-1
3-2-5
這樣的排序將在順序返回數據:4,2,3
然後分類! 我想更詳細地說: 見,請:
1-1-1
1-2-9
1-4-2
2-1-5
2-2-2
2-5-4
3-1-3
3-3-3
3-2-8
3-4-6
3-6-10
============= ============= 1 = ============= ==============
第二位用戶:
1:(10-1) - (10-5) =(4)= 4; 2:(10-9) - (10-2)= ABS(-7)= 7;(10-9)
3:下一個數據用戶1中的內容 - 用戶2中不存在,我們可以輕鬆傳遞它;
具有第三ID的用戶:
1:(10-1) - (10-3)=(2)= 2;
2:用戶使用3rt id時,下一個數據不存在; 3(10-9) - (10-8)= ABS(-1)= 2; 4:(10-2) - (10-6)=(4)= 4;(10-2) -
5:通過;
============== ============= 2 ============== === ===========
然後我需要計數的結果:
所以它將:
用戶2:COUNT =(4 + 7)= 11;
用戶3:COUNT =(2 + 2 + 4)= 8;
並刪除此結果金額:
用戶2:COUNT = COUNT/2 = 11/2 = 5.5;
用戶3:COUNT = COUNT/3 = 8/3 = 2.666666666666667;
============== ============= 3 ============== === ===========
而在結束:
我想看到那種只有數據,沒有被標記+結果和排序有什麼第一用戶:
所以,我會有下一行:
從第一用戶:
2-5-4
從第二用戶:
3-4-6
3-6-10
然後排序在結束標記+結果和我們將有:
1:3-6-10,原因:(10 + 2.666666666666667 = 12。666666666666667)
2:2-5-4,原因:(4 + 5.5 = 9.5)
3:3-3-3,原因:(3 + 2.666666666666667 = 5.666666666666667)
你能更好地解釋比較規則嗎? –
好吧,聽我有db-table用戶名,水果名稱和每個水果的標記!一個用戶想要嘗試其他水果,他從來不會品嚐到 ,但他想要別的東西。查詢必須找到水果名稱最匹配的用戶,然後通過標記進行比較...然後爲每個用戶設置最合適的結果,然後通過此結果對此用戶進行排序並返回id。 – serge