Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL Seleziona l'ultima riga di valore specifico

Questo è il caso di un join sinistro con se stesso. L'idea in questa query è:selezionare tutti i riferimenti con lo stato 'Lead Received' che non hanno una riga con lo stesso riferimento e un ID più alto. Presumo che utilizzi l'ID solo per determinare qual è lo stato "più recente", nessun timestamp ecc.

SELECT
  DISTINCT h1.reference
FROM
  workflow_status_history h1 LEFT JOIN workflow_status_history h2 ON 
                  h1.reference = h2.reference AND 
                  h1.id < h2.id

WHERE
  h1.status = 'Lead Received' AND
  h2.id IS NULL