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

MySQL Masalah pencocokan beberapa minat

Ini pasti mungkin dengan MySQL, tetapi saya pikir Anda mungkin melakukannya dengan cara yang canggung. Saya akan mulai dengan menyusun tabel sebagai berikut:

TABLE Users ( userId, username, location )
TABLE Interests( interestId, hobby )
TABLE UserInterests( userId, interestId, level )

Saat pengguna menambahkan minat, jika belum pernah ditambahkan sebelumnya, Anda menambahkannya ke Interests tabel, lalu tambahkan ke UserInterests meja. Bila Anda ingin memeriksa orang-orang terdekat lainnya dengan minat yang sama, Anda cukup menanyakan UserInterests tabel untuk orang lain yang memiliki minat yang sama, yang sudah memiliki semua informasi itu untuk Anda:

SELECT DISTINCT userId
  FROM UserInterests
  WHERE interestId IN (
     SELECT interestId
       FROM UserInterests
       WHERE userId = $JoesID
     )

Ini mungkin dapat dilakukan dengan cara yang lebih elegan tanpa subkueri, tetapi itulah yang saya pikirkan sekarang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. bagaimana cara menghapus/flush mysql innodb buffer pool?

  2. Mengapa AES_DECRYPT mengembalikan nol?

  3. Mengapa bilangan bulat dalam tupel baris basis data memiliki akhiran 'L'?

  4. Transisi MySQL ke MySQLi paling sederhana

  5. Bisakah saya mengubah ft_min_word_len di shared hosting?