sql >> データベース >  >> RDS >> Mysql

投票テーブルのほとんどの行/投票の数でJOINとORDERBYを使用してmysql検索にLIKEを使用するにはどうすればよいですか?

    より完全な答えは次のとおりです。結合されたテーブル行のセットから合計または賛成票と反対票を取得するには、同様の行をグループ化する必要があります。

    以下のすべき 望ましい結果が得られます。

    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. SELECTクエリのデフォルトの行順序-SQLServer2008とSQL2012

    2. REVERSE()関数を使用せずにOracle(11g)SQLで文字列を逆にする方法

    3. 一般的なエラー:1366Doctrine2.1およびZendFormの更新で整数値が正しくありません

    4. パブリックスキーマを別のスキーマに復元する方法