Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Le soluzioni FSP per il 2026: potenza e IA al centro
Le soluzioni FSP per il 2026: potenza e IA al centro
In occasione del Tech Tour 2025 della European Hardware Association abbiamo incontrato a Taiwan FSP, azienda impegnata nella produzione di alimentatori, chassis e soluzioni di raffreddamento tanto per clienti OEM come a proprio marchio. Potenze sempre più elevate negli alimentatori per far fronte alle necessità delle elaborazioni di intelligenza artificiale.
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa
AWS è il principale operatore di servizi cloud al mondo e da tempo parla delle misure che mette in atto per garantire una maggiore sovranità alle organizzazioni europee. L'azienda ha ora lanciato AWS European Sovereign Cloud, una soluzione specificamente progettata per essere separata e distinta dal cloud "normale" e offrire maggiori tutele e garanzie di sovranità
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto
Xiaomi ha portato sul mercato internazionale la nuova serie Redmi Note, che rappresenta spesso una delle migliori scelte per chi non vuole spendere molto. Il modello 15 Pro+ punta tutto su una batteria capiente e su un ampio display luminoso, sacrificando qualcosa in termini di potenza bruta e velocità di ricarica
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-02-2008, 15:13   #1
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
[sql][newbie] migliori tempi sul giro di ogni pilota

Ciao, sto cercando di imparare un pochino di python e sql, e mi ritrovo con questo problema, avendo una tabella (giri) del tipo:
Codice:
nome_pilota     tempo      data
pilota1              10          0
pilota2              12          1
pilota4              9            2
pilota1              11          3
pilota3              7            4
pilota1              6            5
pilota2              15          6
pilota3              11          7
pilota2              7            8
pilota1              9            9
vorrei ottenere i migliori tempi sulla pista, ma senza doppioni sul nome del pilota (non mi interessa se il pilota X ha fatto il primo il secondo e il terzo tempo sul giro) come succede con questa query:
select nome_pilota, tempo, data from giri order by tempo asc

come db uso mysql 5...

idee?
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 16:09   #2
amedeoviscido
Senior Member
 
Iscritto dal: May 2005
Città: Napoli - Fuorigrotta
Messaggi: 471
prova la clausola "SELECT DISTINCT nomepilota"... ma non so se funziona con mysql onestamente
__________________
Acquisti sul mercatino: grabrihc, LucaXbox360, Yarsha,micanto1,American horizo,Fnac,schumyFast,STECCO,Ezechiele25,17
Vendite sul mercatino: musodatopo,alexbands,mspr,anto.wajo
amedeoviscido è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 16:19   #3
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da amedeoviscido Guarda i messaggi
prova la clausola "SELECT DISTINCT nomepilota"... ma non so se funziona con mysql onestamente
no la distinct non funziona, se faccio:
select distinct nome_pilota, tempo, data from giri order by tempo asc

mi da lo stesso risultato (infatti ogni riga e' diversa dall'altra)
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 17:47   #4
0rph3n
Senior Member
 
L'Avatar di 0rph3n
 
Iscritto dal: Apr 2005
Città: Resana - TV
Messaggi: 960
Codice:
SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc
0rph3n è offline   Rispondi citando il messaggio o parte di esso
Old 04-02-2008, 18:47   #5
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da 0rph3n Guarda i messaggi
Codice:
SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc

questa funziona... ma non fa tutto quello che mi serve:
voglio sapere anche la data di quando e' stato fatto il tempo
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 12:34   #6
ally
Bannato
 
L'Avatar di ally
 
Iscritto dal: Jan 2003
Città:
Messaggi: 4423
Quote:
Originariamente inviato da HexDEF6 Guarda i messaggi
questa funziona... ma non fa tutto quello che mi serve:
voglio sapere anche la data di quando e' stato fatto il tempo
...seleziona nome_pilota,tempo minimo,orario etc...

...è implicito nella query...

...ciao...
ally è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 13:55   #7
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da ally Guarda i messaggi
...seleziona nome_pilota,tempo minimo,orario etc...

...è implicito nella query...

...ciao...
scusa ma non ho capito...
se intendi che debbo fare un:
SELECT nome_pilota, MIN(tempo) AS tempo, data FROM giri GROUP BY nome_pilota ORDER BY tempo asc

non funziona, in quanto ritorna si un risultato per ogni pilota, e con il tempo minimo, ma la data non e' quella del tempo minimo, ma la prima che si trova nel db... (questo sotto mysql... da quello che mi dicono con sql server sembra funzionare correttamente, cioe' come risultato da' la riga del pilota in cui il tempo e' minimo)
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 15:07   #8
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
Codice:
SELECT nome_pilota, MIN(tempo) AS tempo,data FROM giri GROUP BY nome_pilota,data ORDER BY tempo,data asc
prova così
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 15:15   #9
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da NeoNum6 Guarda i messaggi
Codice:
SELECT nome_pilota, MIN(tempo) AS tempo,data FROM giri GROUP BY nome_pilota,data ORDER BY tempo,data asc
prova così
niente da fare
mi da i doppioni come se non gruppassi
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 15:28   #10
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
Quote:
Originariamente inviato da HexDEF6 Guarda i messaggi
niente da fare
mi da i doppioni come se non gruppassi
cosa ti torna esattamente?i doppioni in nome? in mysql la 'with' funziona?
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 15:45   #11
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da NeoNum6 Guarda i messaggi
cosa ti torna esattamente?i doppioni in nome? in mysql la 'with' funziona?
Codice:
mysql> SELECT id_pilota, MIN(tempo) AS tempo,data FROM giri where id_pista = 31 GROUP BY id_pilota,data ORDER BY tempo,data asc limit 15;
+-----------+-------+------------+
| id_pilota | tempo | data       |
+-----------+-------+------------+
|         3 | 51.98 | 1154646327 | 
|         3 | 52.38 | 1147544841 | 
|         3 | 52.67 | 1154620376 | 
|        55 | 52.73 | 1152131017 | 
|        61 | 52.76 | 1151860446 | 
|         3 | 52.79 | 1149285072 | 
|      1598 | 52.84 | 1149841632 | 
|         3 |  52.9 | 1146852491 | 
|        36 | 52.91 | 1151959281 | 
|         3 | 52.94 | 1146775829 | 
|        55 | 52.94 | 1149841437 | 
|        60 | 52.96 | 1147045050 | 
|        61 | 52.96 | 1151527541 | 
|        36 | 52.98 | 1150647279 | 
|        61 | 53.17 | 1150830025 | 
+-----------+-------+------------+
15 rows in set (0.13 sec)
per la with non so nemmeno cosa sia (vado a vedere)
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 15:56   #12
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
con la with la cosa funzionerebbe così

Codice:
with temp as (SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc)
select nome_pilota,tempo,data from temp,giri where temp.nome_pilota=gire.nome_pilota and temp.tempo=giri.tempo

mi scuso per eventuali errori sintattici (non ho qui un DB per fare le prove)
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:00   #13
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
Quote:
Originariamente inviato da NeoNum6 Guarda i messaggi
con la with la cosa funzionerebbe così

Codice:
with temp as (SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc)
select nome_pilota,tempo,data from temp,giri where temp.nome_pilota=gire.nome_pilota and temp.tempo=giri.tempo

mi scuso per eventuali errori sintattici (non ho qui un DB per fare le prove)
mi correggo
Codice:
with temp(pilota,time) as (SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc)
select pilota,time,data from temp,giri where pilota=nome_pilota and time=tempo
ho corretto errori di battitura aggiornando la sintassi della with che era leggermente diversa
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:24   #14
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
mysql sembra non digerire le with.....

sto provando qualcosa con group by e having...
ma non riesco a cavarci fuori molto
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:27   #15
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
Quote:
Originariamente inviato da HexDEF6 Guarda i messaggi
mysql sembra non digerire le with.....

sto provando qualcosa con group by e having...
ma non riesco a cavarci fuori molto
le having servono a dare condizioni alle group by...ma non credo ti servano...
io ho studiato DB2 che le distinct le implementa...senza è un tantino diverso...
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:30   #16
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
ultimo tentativo: prova così
Codice:
select pilota,time,data 
from giri,table temp(pilota,time) as (SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc)  
where pilota=nome_pilota and time=tempo
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:51   #17
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da NeoNum6 Guarda i messaggi
ultimo tentativo: prova così
Codice:
select pilota,time,data 
from giri,table temp(pilota,time) as (SELECT nome_pilota, MIN(tempo) AS tempo FROM giri GROUP BY nome_pilota ORDER BY tempo asc)  
where pilota=nome_pilota and time=tempo
intanto ti ringrazio per l'aiuto...
comunque ero arrivato anch'io ad una select nella select (piu' o meno la stessa che stai facendo tu)... ma ci sta mettendo un pelino troppo (e' un minuto che macina il mio pc!)... mi sa che mi arrangio facendo una cosa del tipo:
select id_pilota, min(tempo) from giri where id_pista = XX group by id_pilota order by min(tempo) asc limit 30;

e per ricavarmi la data in cui sono stati fatti questi 30 record, faccio una query per ognuno con qualcosa del tipo:
select data from giri where id_pista = XX and id_pilota = id_pilota_trovato_prima and tempo like tempo_trovato_prima;

e cosi dovrei risolvere...
non e' bello ma dovrebbe funzionare
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
Old 05-02-2008, 16:54   #18
NeoNum6
Senior Member
 
Iscritto dal: Feb 2004
Città: BhO
Messaggi: 3701
prego di niente...comunque prova ad aspettare la risposta di qualcuno che mastica meglio mysql....sicuramente saprà darti una risposta migliore
(all'università più di DB2 non abbiamo fatto.. )
__________________
Linux User 414915 linux counter
Ho concluso con yorick, gor, djgusmy85, sulphur, Rospaccio, Leland Gaunt, paciuli
NeoNum6 è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 10:47   #19
vladix
Member
 
L'Avatar di vladix
 
Iscritto dal: Jan 2008
Città: roma
Messaggi: 296
ma nn ti conviene creare una vista x questa roba ?
vladix è offline   Rispondi citando il messaggio o parte di esso
Old 06-02-2008, 10:49   #20
HexDEF6
Senior Member
 
L'Avatar di HexDEF6
 
Iscritto dal: Dec 2000
Città: Trento
Messaggi: 5917
Quote:
Originariamente inviato da vladix Guarda i messaggi
ma nn ti conviene creare una vista x questa roba ?
come detto io sono un povero niubbo... so a malapena cosa sia un vista ...

comunque cosi funziona:
Codice:
SELECT g1.id_pilota, g1.tempo, g1.data from giri g1 where g1.tempo = (select min(g2.tempo) from giri g2 where g2.id_pilota = g1.id_pilota and g2.id_pista = 32) and g1.id_pista = 32 order by g1.tempo, g1.id_pilota asc limit 30 ;
ma e' decisamente troppo lento (piu' di 1 minuto con tutti i miei dati)
__________________
Linux User #272700 >+++++++++[<+++++++++>-]<+.++.>++++[<---->-]<++.+++++++.
HOWTO: SSH Firewall e DMZ
ɐɹdosoʇʇos oʇuǝs ıɯ
HexDEF6 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Le soluzioni FSP per il 2026: potenza e IA al centro Le soluzioni FSP per il 2026: potenza e IA al ce...
AWS annuncia European Sovereign Cloud, il cloud sovrano per convincere l'Europa AWS annuncia European Sovereign Cloud, il cloud ...
Redmi Note 15 Pro+ 5G: autonomia monstre e display luminoso, ma il prezzo è alto Redmi Note 15 Pro+ 5G: autonomia monstre e displ...
HONOR Magic 8 Pro: ecco il primo TOP del 2026! La recensione HONOR Magic 8 Pro: ecco il primo TOP del 2026! L...
Insta360 Link 2 Pro e 2C Pro: le webcam 4K che ti seguono, anche con gimbal integrata Insta360 Link 2 Pro e 2C Pro: le webcam 4K che t...
Ubisoft ha definitivamente archiviato Wa...
Motivair by Schneider Electric presenta ...
Un dissipatore che non richiede energia ...
Con Maia 200 Microsoft alza l'asticella ...
La Cina impone requisiti anche per lo st...
Apple lancia AirTag aggiornato: range es...
Microsoft risolve i blocchi di Outlook: ...
OpenAI verso il disastro finanziario? L’...
X nei guai: l'UE indaga sui pericoli del...
Caso Corona-Signorini: il giudice blocca...
470 petaFLOPS con una frequenza di 56 GH...
WhatsApp: abbonamento per rimuovere la p...
Xiaomi Redmi Note 15 in promozione: smar...
NVIDIA investe 2 miliardi in CoreWeave: ...
Chery lancia con Lepas la piattaforma LE...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 18:47.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v