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

グループ内で注文しますか?

    SELECT  c.*, p.*
    FROM    clients AS c
    JOIN    programs AS p
    ON      p.id = 
            (
            SELECT  pi.id
            FROM    programs AS pi
            WHERE   pi.client_id = c.id
            ORDER BY
                    pi.close_date=0 DESC, pi.close_date DESC
            LIMIT 1
            )
    

    Thanxは@Quassnoi にアクセスする必要があります 。同様の(しかしより複雑な)質問で彼の答えを参照してください: mysql-group-by-to-display-latest-result

    programsを更新した場合 テーブルとセットclose_date close_date='9999-12-31'までゼロであるすべてのレコード 、次にORDER BY よりシンプルになります(そして適切なインデックスを使用するとクエリ全体がより高速になります):

            ORDER BY
                    pi.close_date DESC
    


    1. PostgreSQLのトップGUIツール

    2. Oracleのデフォルトの日付形式はYYYY-MM-DDですが、なぜですか?

    3. Postgresqlを修正するためにHomebrewのreadlineバージョン6.xに戻りますか?

    4. INTフィールドでLIKE比較を実行する