Newsgroup: it.comp.www.php
Titolo: MySql, che mi combini?

Se faccio girare questo comando in una query mysql
SELECT * FROM tablename ORDER BY RAND() LIMIT 1
Mi restituisce sempre la stessa riga.
Se faccio girare invece
SELECT * FROM tablename ORDER BY RAND() 
Noto con (dis)piacere che mette in ordine casuale tutte le righe tranne le
prime due, da qui il suddetto problema. E questo con TUTTE le tabelle che
ho! O____o
Perché? Qualche anima pia mi sa dare una spiegazione?
Saluti,
Luke
-- 
Message sent from: 
http://www.fanwars.it
 
IP ADDRESS: 212.171.230.108 
TIME: 01-01-2003 22:11

 SELECT * FROM tablename ORDER BY RAND()
[cut]
Prova
SELECT * FROM tablename ORDER BY RAND ASC;
oppure
SELECT * FROM tablename ORDER BY RAND DESC;
Ciaooo
-- 
Wiwaxia4YOU tutto quello che vuoi tu!!!
URL 
http://www.wiwaxia4you.com
ICQ UIN: 76967336

 SELECT * FROM tablename ORDER BY RAND DESC;
non risolve.
se le prime due sono sempre uguali (cronico), ribaltandole in fondo non 
verranno mai selezionate.
se ci fossero già le subqueries si potrebbe usare rand() 2 volte.
IMHO, meglio sbirciare nei sorgenti per vedere se un contatore è 
inizializzato male, magari "diffando" il nuovo e il vecchio sorgente.
se l'errore è ancora presente nei sorgenti online, ci si fa anche il 
figurone di risolvergli il bug!
l'onore allo steccalecca...
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.nist.gov/dads/

 se l'errore è ancora presente nei sorgenti online, 
Ma mi dà questo problema anche se lo faccio girareda php my admin...
:(
Ciao,
Luke
-- 
Message sent from: 
http://www.fanwars.it
 
IP ADDRESS: 212.171.230.77 
TIME: 02-01-2003 13:47

 Ma mi dà questo problema anche se lo faccio girareda php my admin...
nope, parlo dei sorgenti di mysql.
se la release prima andava e questa no, ci sarà una differenza di codice a 
livello di rand(). (andarlo a trovare...)
ciao!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/gnu/manifesto.it.html

 Mi restituisce sempre la stessa riga.
dagli user comments:
Posted by Nick Gaugler on Tuesday November 19 2002, @10:21am
As of MySQL 3.23.52, MySQL changed the way 
RAND() functions, such that you MUST supply a 
SEED to get an actual random number. If you do 
not, each new connection will return close to the 
same number as the previous new connection. An 
example to test this would be to run the follow 
command multiple times in a row. mysql -u 
username -p -e'select rand()' A basic way to seed 
this would be to run RAND(NOW()).
workaround: usa il rand di PHP e dai il risultato in pasto al rand di mysql
...a proposito di avere sempre la release + aggiornata!
ciao!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/gif.html

 nope, parlo dei sorgenti di mysql.
AAAAH! 
Ma mi stai chiedendo un lavoro immane! ;p
Comunque questa era una cosa che pensavo di poter fare, solo che io non
potrei modificare la relase di MySql sul mio server, quindi sarebbe tutto
lavoro inutile...
Se invece quero (e quest'italianismo dove lo metti? :p) mysql e mi faccio
dire quante righe ha, poi faccio girare la funzione rand() di php e gli
faccio tirare fuori un numero casuale tra 1 e il numero di righe e poi
interrogo mysql con WHERE id = $numerorand è uguale, no? Forse un po' più
macchinoso.
Funzionerà, vero?
Ciao,
Luke
-- 
Message sent from: 
http://www.fanwars.it
 
IP ADDRESS: 212.171.230.114 
TIME: 02-01-2003 16:43

 Funzionerà, vero?
guarda l'altro mio post.
se mandi il rand di php come seme del rand di mysql non hai bisogno di fare 
2 queries.
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/philosophy/motivation.it.html

 non risolve.
[cut]
Chiedo perdono stavo ancora dormento avevo scambiato RAND per campo di una 
tabella...faccio pubblica ammenda :))


 ha scritto nel
messaggio news:auvlih$g5m$1...@newsreader.mailgate.org...
