|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Aug 2004
Messaggi: 180
|
[SQL] Query
Ciao a tutti,
avrei bisogno di supporto per una query in SQL su Oracle 10. Questa query dovrebbe estrarre per ogni campo "primo", tutti i record in cui il campo "secondo" e' il maggiore (tra i record del campo "primo") Faccio un esempio. Data questa tabella... primo secondo terzo a 15 z a 16 w b 12 x b 13 c c 14 m c 12 n La query dovrebbe estrarre questo... primo secondo terzo a 16 w b 13 c c 14 m Riuscite ad aiutarmi? Grazie |
![]() |
![]() |
![]() |
#2 |
Member
Iscritto dal: Jul 2005
Messaggi: 291
|
Prima cosa che mi è venuta
Codice:
SELECT * FROM TABELLA T1 WHERE T1.SEC IN (SELECT MAX(T2.SEC) FROM TABELLA T2 WHERE T1.PRIMO=T2.PRIMO)
__________________
CPU: Intel Core 2 Quad Q6600 - Mobo: Asus P5E - RAM:4x2GB DDR2 - sk video: Power Color ATI Radeon HD3870 - HD:Western Digital 750GB |
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Aug 2004
Messaggi: 180
|
Grazie Mille, funziona!
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: May 2004
Città: Londra (Torino)
Messaggi: 3692
|
A me era venuta cosi'
![]() Codice:
SELECT * FROM src WHERE ROWID IN (SELECT MAX(ROWID) KEEP (DENSE_RANK FIRST ORDER BY secondo DESC) AS rid GROUP BY primo);
__________________
Se pensi che il tuo codice sia troppo complesso da capire senza commenti, e' segno che molto probabilmente il tuo codice e' semplicemente mal scritto. E se pensi di avere bisogno di un nuovo commento, significa che ti manca almeno un test. |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 01:22.