Raggruppare ed estrarre data più recente

stefanoxjx

Utente Attivo
24 Feb 2017
45
1
8
53
Ciao a tutti, ho un problema in una query che non vuole saperne di darmi soddisfazione :(
Ho due tabelle (Elenco, Valutazione) così composte:

Tabella Elenco:
ID
Descrizione
49A
50B

Tabella Valutazione:
ID
Ext_Id
Elenco_Id
Valutazione
Data
124942020-11-30
224952020-12-12
325042020-12-12
425022020-12-28

Avrei bisogno di estrarre da queste tabelle, il record con data più recente in base a Ext_id e il raggruppamento di Elenco_Id.

Per questa esigenza, ho scritto questa query:
Codice:
SELECT Elenco.Descrizione, Elenco.Id, MAX(valutazione.Data), Valutazione.Valutazione, Valutazione.Id FROM Elenco
JOIN Valutazione ON Valutazione.Elenco_Id = Elenco.Id WHERE Valutazione.Ext_Id = 2 GROUP BY elenco.Descrizione

Da questa query, mi aspetterei un risultato del tipo:
Descrizione
Elenco.ID
max(Valutazione.Data)
Valutazione
ID
A492020-12-1252
B502020-12-2824

Invece mi trovo con questo risultato:
Descrizione
Elenco.ID
ma(Valutazione.Data)
Valutazione
ID
A492020-12-1241
B502020-12-2843

Sono due giorni che faccio prove e non sono ancora riuscito a venirne a capo.
Cosa sto sbagliando secondo voi?
Grazie.

Stefano
 

marino51

Utente Attivo
28 Feb 2013
3.036
192
63
Lombardia
prova con questa,
SQL:
SELECT e.descrizione, t.elenco_id, t.data, v.valutazione, v.id  FROM (
  SELECT
    v.elenco_id
  , MAX(v.data) as data
  FROM Valutazione v
  WHERE v.Ext_Id = 2
  GROUP BY v.elenco_id
) t
LEFT JOIN elenco e ON t.elenco_id = e.id
LEFT JOIN valutazione v ON t.elenco_id = v.elenco_id AND t.data = v.data

questo é il risultato

1607977028763.png


ps, non dimenticare la t dopo la parentesi tonda chiusa

in fondo alla query, puoi ordinare gli elementi selezionati con, per esempio,

ORDER BY descrizione DESC

1607977975557.png
 
Ultima modifica:
  • Like
Reactions: stefanoxjx

stefanoxjx

Utente Attivo
24 Feb 2017
45
1
8
53
Ciao Marino e grazie per la risposta.
La tua query sembrerebbe funzionare bene.
Domani faccio prove un po' più approfondite e poi ti confermo.
Effettivamente, con il mio livello di conoscenza di MySQL non ci sarei mai arrivato :(
Comunque imparo sempre qualcosa di nuovo :)
Grazie ancora.

Stefano
 

stefanoxjx

Utente Attivo
24 Feb 2017
45
1
8
53
Ciao Marino, grazie ancora per l'aiuto.
Ti confermo che la tua query funziona alla grande.

Stefano
 
Discussioni simili
Autore Titolo Forum Risposte Data
R Raggruppare valori array PHP 5
A Raggruppare record con stessa data PHP 13
max1974 raggruppare e girare i dati in colonne MySQL 11
max1974 [PHP] Raggruppare array PHP 4
MarcoGrazia [mysql][mariadb]Raggruppare query in base alla data MySQL 2
M [PHP] [HTML] Raggruppare 4 pagine web in una PHP 3
D Raggruppare dati query con php PHP 1
A Raggruppare piu' funzioni in una sola PHP 1
N Raggruppare risultati di due tabelle PHP 1
ivarello Raggruppare Query per mese PHP 1
mircop Raggruppare elementi di una tabella PHP 2
G Raggruppare record tabella PHP 1
davide1982 Raggruppare dati in categorie con group by MySQL 2
M Raggruppare dati in array per successivo insert PHP 6
X Raggruppare risultati di una query PHP 3
M Estrarre valore con SELECT COUNT PHP 0
D Estrarre database con link esterno Database 10
F Estrarre ultima foto da cartelle PHP 2
R Estrarre valori duplicati più volte PHP 0
C Estrarre dati stringa Sql Database 1
L estrarre valori max tra più tabelle MySQL 2
L Estrarre da Cartella una determinata 'via' PHP 15
J estrarre url dei file video da youtube "get_video_info" PHP 6
M Estrarre valori MAX da un db con una left join MySQL 8
M Estrarre dati da una select HTML PHP 3
C [PHP] Estrarre da una classe i valori che mi interessano PHP 5
S [PHP] Estrarre dati da tabella e fare la media ad intervalli di tempo PHP 10
R [PHP] Estrarre id utente loggato.? PHP 4
S [PHP] Estrarre elementi array su più variabili PHP 5
S [PHP] Estrarre dati tabella in diversi array PHP 2
P [MS ACCESS] Estrarre più somme da una query MS Access 4
trattorino estrarre titolo video facebook in php PHP 0
D [WordPress] come fare per estrarre dati da un db MySQL tramite una form e visualizzare il risultato WordPress 0
S [Javascript] come estrarre valori array e inserirli in diverse variabili Javascript 1
N [PHP] Estrarre singolo valore da array PHP 4
trattorino [PHP] sql estrarre in base all'ultima visita PHP 4
P [Visual Basic] access sql estrarre id vendite x cli e articolo con data maggiore del recordset Visual Basic 2
Jensen [PHP] Estrarre prossimi 4 lunedì PHP 4
trattorino [PHP] estrarre dati singoli PHP 1
G [PHP] estrarre data da timeline yyyy-dd-gg hh:mm:ss PHP 4
Z Estrarre dati da un DB Mysql PHP 4
I database mysql estrarre due tabelle Database 2
S [PHP] Estrarre dati colonna in una stringa PHP 6
S [PHP] estrarre dati sito web protetto con username e password PHP 13
Merlina3377 [PHP] estrarre solo un determinato id da tanti con REGEXP O LIKE PHP 1
Gigi87 estrarre i dati da un forum o social network Presentati al Forum 1
trattorino Estrarre Nome Utente jquery div php PHP 9
trattorino [Javascript] estrarre id link yt Javascript 1
S [PHP] estrarre le email da un elenco di url PHP 21
T4MAR4 [PHP] estrarre tag da un testo PHP 3

Discussioni simili