[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Ultimo luogo conosciuto in SQL



Domandina non sistemistica:
ho una tabella SQL 'pulizia' con record:
id (int), inventario (int), titolo (char[12]), dove (int), quando (timestamp).
righe corte ma decine di migliaia.
per capirci faccio un esempio: biblioteca con libri che hanno un titolo e un numero di inventario distribuite a scaffale aperto su più sale (dove). per non dovere rimettere a posto il libro quanto rimesso nello scaffale trasmette il proprio codice allo stesso e a sua volta questo lo ritrasmette al server centrale. [NB: si tratta di tablet usati come ebook reader, e non posso fare un poll perché potrebbero venire spenti una volta finito l'uso, e inventario è il mac della scheda wifi, quindi posso avere lo stesso titolo su più lettori, e un lettore con più titoli - dove=0 significa che il titolo è stato rimosso dal lettore]

vorrei fare un:
select titolo,inventario,dove,quando from pulizia where titolo="parametro" and dove>0 …
e poi ?
in modo che possa trovare  la copia più vicina.
se avessi due database, uno con lo storico, per vedere quali libri e dove sono stati consultati di più, per acquisire nuove copie, e uno aggiornato a ogni movimento con l'ultimo movimento (cancellando il precedente) sarebbe facile. ma con tutto l'archivio, per non averne due ? mi troverei per la stessa coppia titolo-inventario diversi record, in tempi successivi. 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).
Come è possibile ?

--
Leonardo Boselli
Università di Firenze
tel:+39 0552758808



Reply to: