Newsgroup: it.comp.www.php
Titolo: query con max(data)

Vi riassumo la tabella che ho a disposizione:
nome tabella: tab_subcase
Campi tabella:
Id_tabella | Numero_case |Tipologia_subcase | Data_creazione
1 | 120120 | Cvp | 01/10/2006
2 | 120120 | Ott | 03/10/2006
3 | 111222 | Cvp | 06/10/2006
4 | 111222 | Ott | 08/10/2006
Devo prendere solo gli id 2 e 4.
La query è la seguente:
SELECT Tipologia_subcase, max(Data_creazione) from tab_subcase
GROUP BY Numero_case
ORDER BY Data_creazione
DESC
Mi fa uscire fuori il seguente schema:
Id_tabella Numero_case Tipologia_subcase Data_creazione
2              120120               Cvp                  03/10/2006
4              111222                Cvp                08/10/2006
Ma in realtà dovrebbe venire fuori tipologia_subcase OTT !!! perché
quello è lo stato associato alla riga che devo estrarre.
Ho provato anche con order by id_tabella ma non da il risultato che
voglio. 
Che posso fare

 ha scritto:
nome tabella: tab_subcase
Campi tabella:
Id_tabella | Numero_case |Tipologia_subcase | Data_creazione
1 | 120120 | Cvp | 01/10/2006
2 | 120120 | Ott | 03/10/2006
3 | 111222 | Cvp | 06/10/2006
4 | 111222 | Ott | 08/10/2006
SELECT Tipologia_subcase, max(Data_creazione) from tab_subcase
GROUP BY Numero_case
ORDER BY Data_creazione
DESC
Mi fa uscire fuori il seguente schema:
Id_tabella Numero_case Tipologia_subcase Data_creazione
2              120120               Cvp                  03/10/2006
4              111222                Cvp                08/10/2006
----------------------------------------------
Il risultato è corretto: tu hai ordinato al database di creare due gruppi in 
base al campo Numero_case (gruppo1: record 1,2; gruppo2: record 3,4), e 
quindi estrarre da ciascun gruppo il record con data massima.

ninosoft ha scritto:

Ciao ninosoft, la query è corretta però a me serve che mi dia diciamo
così ragionando tra virgolette come excel, che mi dia tutti i campi
della stessa riga e non che mischi il tutto.
Secondo te c'è una qualche soluzione ?

ninosoft ha scritto:



 4              111222                Cvp                08/10/2006
Ooops! Scusa, non mi ero accorto del bug! Hai ragione, il risultato è 
sbagliato, perché quando estrae un record non può andare a pescare campi da 
altri record (il record 4 ha tipologia Ott, e viene estratto come Cvp!) e 
mettere tutto insieme alla rinfusa!
Si tratta sicuramente di un bug... Non so come aiutarti...

 ha scritto nel messaggio 
news:eg3hh1$n90$1...@carabinieri.cs.interbusiness.it...


Ma in realtà dovrebbe venire fuori tipologia_subcase OTT !!!
La query che hai postato non e' sicuramente quella che ti da' quei
risultati: nella query che hai postato ci sono due campi, ma sopra
io ne vedo quattro.
Prova a postare la query che hai usato davvero.
Inoltre, nel caso che anche la tabella non fosse quella giusta ;-)
considera che forse fra "04/07/2006" e "03/08/2006" MySQL potrebbe
pensare che la data piu' recente sia la prima: il sette aprile, in
confronto all'otto marzo.
Leonardo
-- 
Dawn is near, the time is short (Human aircraft! Hard to port!)
We eight reindeers of the night work as one in silent flight.
Let not one damn house pass by (Who taught that guy how to fly?)
Each year sees more girls and boys: how many of them can we bring toys?