sql >> Databáze >  >> RDS >> Mysql

Jak používat LIKE pro vyhledávání v mysql s JOIN a ORDER BY podle počtu nejvíce řádků/hlasů v tabulce hlasování?

Zde je úplnější odpověď. Chcete-li získat součet dobrých a špatných hlasů ze sady spojených řádků tabulky, musíte podobné řádky seskupit.

Níže měl by vám poskytne požadovaný výsledek.

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. ERROR 2003 (HY000):Nelze se připojit k serveru MySQL na localhost (10061)

  2. Jak auditovat databázi PostgreSQL

  3. SQLNonTransientConnectionException Připojení k MySQL v Eclipse

  4. Jak zkontrolovat, zda je řetězec jedinečným identifikátorem?