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

Doctrine 2 DQL CASE WHEN in Count

    何時間も試して検索した後、自分で見つけました。このDQLで動作しています:

    $dql = 'SELECT t, SUM(CASE WHEN p.image = 1 THEN 1 ELSE 0 END) AS numImage
                        FROM Bundle\Entity\Turn t
                        JOIN t.pois p
                        GROUP BY t.id
                        ORDER BY numImage DESC;  
    

    COUNTの代わりにSUMを使用する必要があることが重要です



    1. MySQLでコミットした後にロールバックする方法はありますか?

    2. 大きな主キー:10億行以上のMySQL + InnoDB?

    3. XMLをSQLServerに挿入するときにエンコードエラーを切り替えることができない問題を解決する方法

    4. SQL ServerでのDB_NAME()のしくみ