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

Výběr nejnovějších záznamů pro odlišný záznam

Zde je dotaz, který hledáte:

SELECT A.lead_id
    ,MAX(A.app_id) AS [last_app_id]
FROM appointment A
GROUP BY A.lead_id

Pokud chcete, aby všechny sloupce odpovídaly těmto očekávaným řádkům:

SELECT A.*
FROM appointment A
INNER JOIN (SELECT A2.lead_id
                ,MAX(A2.app_id) AS [last_app_id]
            FROM appointment A2
            GROUP BY A2.lead_id) M ON M.lead_id = A.lead_id
                                     AND M.last_app_id = A.app_id
ORDER BY A.lead_id

Zde jednoduše použiji předchozí dotaz pro jointure, abych získal pouze požadované řádky.

Doufám, že vám to pomůže.



  1. Vysvětlení funkce MySQL IF().

  2. Vyberte všechny sloupce větší než nějaká hodnota

  3. Použijte proměnnou nastavenou meta-příkazem psql uvnitř bloku DO

  4. Jak zkombinovat LIKE s IN v dotazu MYSQL?