Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL Query untuk menemukan baris numerik yang paling mirip

Dalam sedikit penyempurnaan pada metode @eggyal, saya memasukkan jumlah item yang dapat kami cocokkan.

SELECT   u2.user_id

-- join our user to their scores
FROM     (users u1 JOIN scores s1 USING (user_id))

-- and then join other users and their scores
    JOIN (users u2 JOIN scores s2 USING (user_id))
      ON s1.item_id  = s2.item_id
     AND u1.user_id != u2.user_id

-- filter for our user of interest
WHERE    u1.user_id = ?

-- group other users' scores together
GROUP BY u2.user_id

-- subtract the degree of difference in correlating scores from the number of correlating scores
ORDER BY (SUM(s1.item_id = s2.item_id) - 
  ( SUM(ABS(s2.score - s1.score) + ABS(u2.self - u1.self) ) ) ) DESC


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Kursor dalam Loop dari prosedur tersimpan

  2. Bagaimana saya harus menyusun tabel pengaturan saya dengan MySQL?

  3. Mengapa kueri dieksekusi dari meja kerja mysql membutuhkan waktu lebih lama daripada mengeksekusinya langsung dari cli mysql?

  4. Menggunakan eksklusif atau di mysql

  5. Masalah Basis Data UTF-8