sql >> Databáze >  >> RDS >> Sqlserver

SQL - Vyberte nejnovější záznam, pokud existuje duplikát

Existuje několik způsobů, jak to udělat, jedním ze způsobů je použít ROW_NUMBER takhle:

SELECT id, type, date
FROM 
(
    SELECT tb1.id, tb1.type, tb1.Date, 
        ROW_NUMBER() OVER (PARTITION BY tb1.id ORDER BY tb1.Date DESC) AS RowNo
    FROM Table tb1
    WHERE tb1.type IN ('A','B')
) x
WHERE x.RowNo = 1

Tím se vrátí řádek pro každé odlišné ID hodnotu, která má nejnovější datum.




  1. Parametrizovaný dotaz Pythonu MySQL je v konfliktu se zástupným znakem % v příkazu LIKE

  2. MySQL - Seskupit podle pořadí podle DESC

  3. Symfony2 a Doctrine2:Pro entitu X není zadán žádný identifikátor/primární klíč. Každá entita musí mít identifikátor/primární klíč

  4. Je vlákno mysql_insert_id bezpečné?