Sono nuovo di Oracle e del mondo SQL. Ho un piccolo problema con una query che non riesco a capire per la vita di me, ho passato alcune ore a provare approcci diversi e non riesco a ottenere il risultato che mi aspetto. Ecco la mia domanda:Come utilizzare MAX() su un risultato di subquery?
SELECT *
from(Select membership.mem_desc,membership.mem_max_rentals,membership_history.mem_type,
count(membership_history.MEM_TYPE) as membership_count
from membership_history
JOIN membership ON membership.mem_type = membership_history.mem_type
group by (membership_history.mem_type,membership.mem_desc,membership.mem_max_rentals)
) g
WHERE g.membership_count = (select MAX(membership_count) from g);
Quindi la query interna funziona perfettamente e restituisce due risultati. Ora che ho questi due valori, sto cercando di capire come restituire la riga con il valore massimo di membership_count, che è dove continuo a rimanere bloccato. Nella query sopra ho provato a usare MAX() nella clausola where, ma all'interno di quella selezione continuo a ricevere l'errore 'table not found' (che significa 'g'). Quindi la mia domanda è: come posso usare la funzione MAX() sui risultati della mia subquery? Qualsiasi pensiero o suggerimento sarebbe molto apprezzato !!!!!
Se non si è a conoscenza, [sqlfiddle] (http://www.sqlfiddle.com) ha Oracle disponibile e si può giocare con vari formati di istruzioni. – hd1