Selezionare ultimo record per data↵
L'esempio è preso da qui:
stackexchange: https://gis.stackexchange.com/questions/419587/selecting-latest-record-by-date :
Una tabella degli attributi (in un GeoPackage) contenente un campo stringa box_ide
e un campo data inspection_date
. Le righe della tabella sono simili a:
box_id | inspection_date |
---|---|
NE_01_01 | 2021/05/01 |
NE_01_01 | 2021/05/02 |
NE_01_01 | 2021/05/04 |
SE_03_02 | 2021/06/09 |
SW_01_04 | 2021/06/05 |
SW_01_04 | 2021/06/07 |
come selezionare quei record con l'ultimo inspection_date
per ciascuno box_id
.
Usando i dati di esempio, la selezione risultante sarebbe simile a:
box_id | inspection_date |
---|---|
NE_01_01 | 2021/05/04 |
SE_03_02 | 2021/06/09 |
SW_01_04 | 2021/06/07 |
Funzione di Aggregazione↵
Usando le funzioni di aggregazione, per esempio maximum
:
non funziona in quanto (sembra) la funzione maximum
trasformi un oggetto QDate
in QDateTime
e di conseguenza l'uguaglianza non è mai verificata, infatti l'espressione:
per ovviare occorre trasformare l'output della funzione maximun in data:
questa funziona!!!
Funzioni Array↵
Usando gli Array non occorre nessuna trasformazione:
Osservazione↵
Dal menù Impostazioni | Opzioni è possibile modificare la visualizzazione delle date:
prova tu↵
Funzioni e variabili utilizzate: