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

1つの列の値が異なる最新の3つのレコードを選択します

    SQLステートメントの句の位置に反映されているように、グループ化は順序付けの前に行われるため、期待どおりの結果は返されません。残念ながら、必要な行を取得するには、より洗練されたものにする必要があります。これを試してください:

    SELECT *
    FROM `table`
    WHERE `id` = (
        SELECT `id`
        FROM `table` as `alt`
        WHERE `alt`.`otheridentifier` = `table`.`otheridentifier`
        ORDER BY `time` DESC
        LIMIT 1
    )
    ORDER BY `time` DESC
    LIMIT 3
    


    1. 例を含むSQLJOINチュートリアル

    2. MySQLエラー#1071-指定されたキーが長すぎました。キーの最大長は767バイトです

    3. Oracleの日時形式要素のリスト

    4. STRING_SPLITの改善にご協力ください