Un Evento Unico. 5 Sale. 27 Interventi. SEO, SOCIAL, E-Commerce, Mobile, Turismo.
CLICCA QUI e SCOPRI DI PIù X Chiudi
 
Forum GT: Condividiamo idee e conoscenza Forum GT: Condividiamo idee e conoscenza


Condividi questo contenuto nei Social Network:
Ti stiamo aspettando: Registrati subito e gratis. Entra a far parte di una delle comunità più attive in Italia. Se hai dimenticato i tuoi dati li puoi recuperare subito.


Vai indietro   Forum per Webmaster: Condividiamo Idee e Conoscenza > Sviluppo e Gestione siti web > Php - Mysql
Benvenuto! Forum Regole FAQ Lista utenti Calendario Segna come letti


Rispondi
 
LinkBack Strumenti di discussione
Vecchio 29-12-08, 14:27   #1 (permalink)
User Newbie
 
Data di registrazione: Dec 2008
Messaggi: 2
Question MYSQL strano risultato

Ciao a tutti,
mi trovo a combattere con un risultato inaspettato da una query apparentemente semplice, con un Mysql 5 ed un phpmyadmin su linux.

Lanciando questa query da phpmyadmin:

SELECT distinct (id_server),bps
FROM `earth_banda_giorno`
ORDER BY bps DESC
LIMIT 0 , 30

Ottengo questo risultato (riporto solo alcune righe):
id_server bps
129 44153672
24 44150428
129 43977130
24 43957459
40 43067331
111 42863806
129 34975835
24 34920153
129 23536162
24 23526355

Che è un risultato inaspettato poichè l'id_server viene ripetuto nonostante il distinct.

La stranezza viene confermata eseguendo la stessa query senza il campo bps nella select il risultato cambia completamente:

SELECT distinct (id_server)
FROM `earth_banda_giorno`
ORDER BY bps DESC
LIMIT 0 , 30

id_server
27
15
40
76
72
140
44
133
97

Mi chiedo, ma dove è finito l'id_server 129? E' quello con il valore bps più alto in assoluto! Sto sbagliando tutto?
Io mi ricordavo che il distinct tenesse in considerazione i campi tra le parentesi e solo quelli. Ma a questo punto credo di sbagliarmi e vi chiedo conferma ed un eventuale alternativa.
Il mio obiettivo, se non fosse chiaro, è di ottenere i primi n id_server con i bps più alti senza ripetizioni (id_server non è unico).
Sarà che sono ancora un po' assonnato, ma mi sto perdendo

Grazie a tutti,
Algianbex

Ultima modifica di algianbex : 29-12-08 14:31.
algianbex non in linea   Rispondi citando
Vecchio 29-12-08, 14:40   #2 (permalink)
Moderatore
 
L'avatar di ilnetsurfer
 
Data di registrazione: Jun 2007
Ubicazione: Napoli
Messaggi: 535
Invia un messaggio tramite MSN a ilnetsurfer
Prova con DISTINCT tutto in maiuscolo...

EDIT : Credo che il problema sia il fatto che facendo un distinct dell'id e selezionando anche il campo BPS, visto che questi due sono uniti tra di loro, ti restituisca il risultato inaspettato...Forse con Google....
__________________
He knows not where he's going.For the ocean will decide.It's not the DESTINATION...It's the glory of the RIDE.

Ultima modifica di ilnetsurfer : 29-12-08 14:45.
ilnetsurfer non in linea   Rispondi citando
Vecchio 29-12-08, 16:26   #3 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Ciao algianbex e benvenuto nel Forum GT

La butto giù come ipotesi: dato che a te interessa il valore massimo di bps hai provato a mettere MAX(bps)? O magari giostrarti con il GROUP BY id_server ?
__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Vecchio 29-12-08, 17:35   #4 (permalink)
User Newbie
 
Data di registrazione: Dec 2008
Messaggi: 2
Ciao, e grazie per le pronte risposte.
Ho provato distinct e DISTINCT, ma non ci sono differenze nei risultati. E ancora non mi spiego perchè non funzioni...

Con la funzione max invece pare funzionare, ma va messo un alias, altrimenti l'ordinamento lo fa su bps e non su max(bps). Stamattina non ci ero arrivato...

SELECT max( bps ) AS x, id_server
FROM `earth_banda_giorno`
GROUP BY id_server
ORDER BY x DESC

bps id_server
44153672 129
44150428 24
43067331 40
42863806 111
12047795 133
11921154 138
10174521 10
9687751 55
9555161 62
6816340 15

Grazie ancora e a presto,
Algianbex
algianbex non in linea   Rispondi citando
Vecchio 29-12-08, 18:29   #5 (permalink)
Consiglio Direttivo
 
L'avatar di Samyorn
 
Data di registrazione: Dec 2007
Ubicazione: Catania
Messaggi: 5,845
Invia un messaggio tramite ICQ a Samyorn Invia un messaggio tramite Skype a Samyorn
Grazie a te di aver postato la soluzione, sarà di certo utile anche ad altri.

__________________
Qui, Quo, Qua
Si parla poco di SMF? Sentiamo l'opinione di chi lo ha provato. Ti amo...brindiAMO?
Conosci GTLab? Devi scegliere un CMS per Forum e non sai quale? Guarda quì!!
Samyorn non in linea   Rispondi citando
Rispondi
Tags: , , , ,



Strumenti di discussione

Regole di scrittura
Non puoi postare nuove discussioni
Non puoi rispondere alle discussioni
Non puoi allegare file
Non puoi editare i tuoi post

BB code is Attivo
smilies è Attivo
[IMG] il codice è Attivo
Il codice HTML è Disattivato
Trackbacks are Attivo
Pingbacks are Attivo
Refbacks are Disattivato
Vai al forum



Tutti gli orari sono GMT +3. Attualmente sono le 13:03.




Forum GT - © 2004-2009 GT idea S.r.l P.iva 02418200800 - Privacy/Disclaimer

SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.