1
我有一個下面的示例表。我試圖創建一個SQL查詢,獲取當前用戶的user_id以外的所有user_id,然後按照當前user_id的行數匹配該行。例如,如果用戶的user_id爲'1',我想獲取與id 2-8的行相對應的所有user_id,然後將user_id從大多數匹配項排序到當前用戶的行,以至少與當前用戶的行匹配通過匹配到特定行的SQL順序
讓我們假設var CURRENT_USER = 1
像這樣:
SELECT user_id
FROM assets
WHERE user_id <> `current_user` and
ORDER BY most matches to `current_user`"
輸出應該得到7,8,3,9,2
I would appreciate anyone's input on how I can effectively achieve this.
Table assets
+----------+---------+-------+--------+-------+
| id | user_id | cars | houses | boats |
+----------+---------+-------+--------+-------+
| 1 | 1 | 3 | 2 | 3 |
| 2 | 8 | 3 | 2 | 5 |
| 3 | 3 | 3 | 2 | 2 |
| 4 | 2 | 5 | 1 | 5 |
| 5 | 9 | 5 | 7 | 3 |
| 8 | 7 | 3 | 2 | 3 |
+----------+---------+-------+--------+-------+