Re: Ultimo luogo conosciuto in SQL
On 28/03/21 23:20, Leonardo Boselli wrote:
select titolo,inventario,dove,quando from pulizia where
titolo="parametro" and dove>0 …
mi servirebbe un group by titolo,inventario ma che anziché farmi vedere
solo un record mi faccia vedere il record con il quando più alto (ossia
il record più recente).
questo dovrebbe fare quanto chiedi
select titolo,inventario,dove,quando
from pulizia
where titolo="parametro"
and dove>0
and quando = (select max(quando) from pulizia where titolo="parametro"
and dove>0 group by titolo,inventario)
però potrebbe tornare più record se è possibile che ci siano due
"quando" con gli stessi valori.
Se i timestamp sono tutti univoci, allora puoi semplificare
ulteriormente con
select titolo,inventario,dove,quando
from pulizia
where titolo="parametro"
and quando = (select max(quando) from pulizia where titolo="parametro"
and dove>0 group by titolo,inventario)
A seconda del database potresti ottimizzare ulteriormente la precedente
usando l'indicatore univoco di riga interno del database (supponendo qui
che sia oid)
select titolo,inventario,dove,quando
from pulizia
where oid = (select min(oid) from pulizia where titolo="parametro" and
dove>0 group by titolo,inventario having quando >= max(quando))
In ogni caso se hai solo decine di migliaia di record penso non noterai
nessuna la differenza... sempre che siano stati creati gli indici
appropriati (in questo caso su titolo), ma probabilmente su così pochi
record e su una sola tabella l'uso dell'indice non serve e anzi potrebbe
solo rallentare le varie operazioni (poi dipende da tanti aspetti:
database, supporto su cui sono i tablespace, frammentazione, ...).
Nota: la ricerca per titolo, su un libro, non la ritengo appropriata,
poiché lo stesso titolo può essere stato usato per libri differenti, sia
di autori differenti sia dello stesso autore (può riferirsi ad edizioni
differenti dello stesso libro, sia perché l'autore l'ha revisionato,
sia
perché la traduzione è stata revisionata o rifatta da altro traduttore).
Spero che nella tabella vi siano presenti anche altre colonne per poter
identificare in modo corretto un libro.
Ciao
Davide
--
Elenco di software libero: http://tinyurl.com/eddgj
GNU/Linux User: 302090: http://counter.li.org
Non autorizzo la memorizzazione del mio indirizzo su outlook
Reply to: