Mailinglisten-Archive |
Ivo Pescia wrote: > > hmmmm, als ich das Mail gelesen habe war ich begeister, > aber irgendwas ist faul. > > Also > > hier ein normaler select mit order by > > > mysql> select * from T_Answers ORDER BY Answertext; > +-----------+---------------------+-------------+ > | ID_Answer | Answertext | Answergroup | > +-----------+---------------------+-------------+ > | 1 | HP Wolf (1974) | Menschen | > | 2 | I Pescia (1968) | Menschen | > | 4 | L. Mutti (1977) | Menschen | > | 5 | M. Ziege (1964) | Menschen | > | 3 | O Brupbacher (1995) | Menschen | > +-----------+---------------------+-------------+ > > > > hier die Query mit Deinem Vorschlag > > mysql> SELECT *, rand() As randomizer FROM T_Answers ORDER BY randomizer; > +-----------+---------------------+-------------+------------+ > | ID_Answer | Answertext | Answergroup | randomizer | > +-----------+---------------------+-------------+------------+ > | 1 | HP Wolf (1974) | Menschen | 0.2498 | > | 2 | I Pescia (1968) | Menschen | 0.9803 | > | 3 | O Brupbacher (1995) | Menschen | 0.1520 | > | 4 | L. Mutti (1977) | Menschen | 0.8192 | > | 5 | M. Ziege (1964) | Menschen | 0.6400 | > +-----------+---------------------+-------------+------------+ > > hmmm wird nicht sortiert nach randomizer.... wieso?? > > ich habe mir gedacht dass er vielleicht nur Integer vergleicht also > habe ich folgendes probiert > > mysql> SELECT *, rand()*1000 As randomizer FROM T_Answers ORDER BY randomizer; > +-----------+---------------------+-------------+------------+ > | ID_Answer | Answertext | Answergroup | randomizer | > +-----------+---------------------+-------------+------------+ > | 1 | HP Wolf (1974) | Menschen | 742.1964 | > | 2 | I Pescia (1968) | Menschen | 791.0832 | > | 3 | O Brupbacher (1995) | Menschen | 728.8270 | > | 4 | L. Mutti (1977) | Menschen | 270.8853 | > | 5 | M. Ziege (1964) | Menschen | 167.9457 | > +-----------+---------------------+-------------+------------+ > > > Klappt aber auch nicht. > > > wieso, wieso, wieso ......... hirn > > Ivo < cut > Hallo Ivo Hab gerade die Antwort gefunden (aus dem mysql manual): You can't use a column with RAND() values in an ORDER BY clause, because ORDER BY would evaluate the column multiple times. Ich dachte, dieses Problem waere bereits behoben :( Deshalb musst Du eine zusaetzliche FLOAT Spalte spendieren. Diese fuellst Du dann mit RAND(). Danach kannst Du nach dieser Spalte sortieren. Entschuldige die falsche Antwort. Tschau Christian
php::bar PHP Wiki - Listenarchive