0
我正在查看基於最近1000條記錄的數據庫中的用戶數據。查詢的基本結構如下:最近1000條記錄的比較查詢
SELECT p.id, p2.id, ROUND(AVG(1000 + ABS(p2.ss - p.ss)/6.1 * -50)) AS sim_score
FROM
(SELECT * FROM p WHERE id = 519000 ORDER BY p_date DESC LIMIT 0,1000) p,
(SELECT * FROM p WHERE id = 279000 ORDER BY p_date DESC LIMIT 0,1000) p2
在這種情況下,我指定兩個用戶(519000和279000)。這將返回一個記錄與每個ID和相似性分數。我有什麼選擇爲數據庫中的每個用戶比較(u^2-u)返回一條記錄,目標是將此結果轉儲到另一個表中?我可以看到在夜間批量作業中使用嵌套遊標,但我希望有更高效的東西。