sql >> Databáze >  >> RDS >> Mysql

Rozdíl MySQL mezi dvěma řádky příkazu SELECT

SELECT
    mt1.ID,
    mt1.Kilometers,
    mt1.date,
    mt1.Kilometers - IFNULL(mt2.Kilometers, 0) AS number_km_since_last_date   
FROM
    myTable mt1
    LEFT JOIN myTable mt2
        ON mt2.Date = (
            SELECT MAX(Date)
            FROM myTable mt3
            WHERE mt3.Date < mt1.Date
        )
ORDER BY mt1.date

Sql Fiddle

Nebo emulací lag() fungovat přes MySql hackiness...

SET @kilo=0;

SELECT
    mt1.ID,
    mt1.Kilometers - @kilo AS number_km_since_last_date,
    @kilo := mt1.Kilometers Kilometers,
    mt1.date
FROM myTable mt1
ORDER BY mt1.date

Sql Fiddle



  1. Proč se autoinkrement MySQL zvyšuje u neúspěšných vložení?

  2. Parametry připojovacího řetězce pro uložené specifikace

  3. Vraťte seznam spouštěčů na serveru SQL Server

  4. VÝSTRAHA:Office verze 2204 může poškodit aplikace Accessu