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

Как да използвам LIKE за търсене в mysql с JOIN и ORDER BY броя на повечето редове/гласове в таблицата за гласуване?

Ето по-пълен отговор. За да получите сумата или добрите гласове и лошите гласове от набор от обединени редове на таблица, трябва да групирате подобните редове заедно.

По-долу трябва да ви даде желания резултат.

mysql_query("
    SELECT m.Title, r.Subject, v.TipID, sum(v.IsGood) as IsGood, sum(v.isBad) as isBad FROM Movies m
        LEFT JOIN Reviews r
            ON m.ID=r.MovieID
        LEFT JOIN Votes v
            ON r.ID=v.ReviewID
        WHERE (m.Title LIKE '%" . $search . "%'
            OR r.Subject LIKE '%" . $search . "%')
        GROUP BY  m.Title, r.Subject, v.TipID
        ORDER BY sum(v.IsGood) desc, sum(v.isBad) asc LIMIT 10")or die(mysql_error());



  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 CASE WHEN с множество условия за търсене?

  2. MySQL заявка, където JOIN зависи от CASE

  3. Някой откривал ли е, че REGEX \b не работи в MYSQL?

  4. Session_set_save_handler не се задава

  5. Удостоверяване за настолно приложение