Mysql
 sql >> база данни >  >> RDS >> Mysql

как да получите подобни обекти въз основа на тагове

Това ще върне списък с всички филми, които споделят поне 1 маркер с дадения <current_movie_id> подредени по намаляване на броя на общите етикети

SELECT movie.*, count(DISTINCT similar.tag) as shared_tags FROM movie INNER JOIN 
    ( tagged AS this_movie INNER JOIN tagged AS similar USING (tag) )
    ON similar.movie = movie.id
WHERE this_movie.movie=<current_movie_id>
AND   movie.id != this_movie.movie
GROUP BY movie.id
ORDER BY shared_tags 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. Възможно ли е да се изпълни заявка за всяка база данни в mysql бази данни и да се сумират или комбинират резултати, като се използва само командна среда на mysql?

  2. Необходимо ли е да се пише ROLLBACK, ако заявките не успеят?

  3. групов еквивалент на concat в прасе?

  4. 4 начина за намиране на дублиращи се редове в MySQL

  5. Импортиране, експортиране на mysql база данни супербърз команден ред