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

mysql:IDでグループ化し、IDごとに最高の優先度を取得します

    これは「受け入れられた」答えかもしれませんが、マークのソリューション 通常の状況では何倍も優れており、質問に対しても同様に有効です。ぜひ、本番環境で彼の解決策を検討してください。

    SELECT a.id, a.vehicle_id, a.filename, a.priority
    FROM pics a
    LEFT JOIN pics b               -- JOIN for priority
    ON b.vehicle_id = a.vehicle_id 
    AND b.priority > a.priority
    LEFT JOIN pics c               -- JOIN for priority ties
    ON c.vehicle_id = a.vehicle_id 
    AND c.priority = a.priority 
    AND c.id < a.id
    WHERE b.id IS NULL AND c.id IS NULL
    

    'id'がnull許容でない列であると仮定します。

    [編集]:私の悪い、2番目の参加が必要、1つだけではそれを行うことはできません。



    1. PHPでmysqlに接続できません

    2. Oracleでコンマ区切りの文字列を分割する方法

    3. Pythonのmysqlでプリペアドステートメントを使用する

    4. mysql挿入競合状態