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

ERROR 1064(42000)によるオーバーパーティションの構文でのデータベースエラー

    ウィンドウ関数(lead()など )はMySQL 8.0でのみ追加されたため、バージョン5.7では使用できません。 lead()をエミュレートできます そのような自己参加で:

    select t.*, tlead.state, tlead.timestamp
    from FinalTable t
    left join FinalTable tlead 
        on tlead .id = t.id
        and tlead.timestamp = (
            select min(t1.timestamp) 
            from FinalTable t1 
            where t1.id = t.id and t1.timestamp > t.timestamp
        )
    

    補足:このメソッドが正しく機能するには、同じidの後続のレコードが必要です 異なるtimestampを使用する s-これは、すべてのタイムスタンプが同じである、表示したサンプルデータには当てはまりません(これはサンプルデータのタイプミスだと思います)。




    1. django connec mysql --_ mysql_exceptions.OperationalError:(2006、<NULL>)

    2. 別のドメインからのmysql接続

    3. エラー:接続はautoCommitモードです

    4. PostgreSQLの「エラー:各EXCEPTクエリには同じ数の列が必要」を修正