ORDER BY RAND() i MySQL 3.23.54.

Databaser & SQL

1 svar · 316 visningar · startad av D-M_R

Medlem sedan aug. 2002114 inlägg
Trådstart#1

Så jag har ett script som körs ORDER BY RAND() på min dator, lokalt, där jag utvecklar. Där är det MySQL 3.23.44-nt och det fungerar fint. Men när jag kör på servern, där sakerna ska ligga, så fungerar det inte. Får hela tiden bara första raden.

Jag hittade denna tråden där en kille har lösningen:

SELECT <your columns>,MD5(RAND()) AS myRandom FROM <your table> ORDER BY myRandom LIMIT 1

Icheb skrev:

I am using MySQL 3.23.54 and the problems I talked about do happen when I only do ORDER BY RAND().
If I, however, use my approach, I get better random numbers and therefore better results. I don't know why it happens, but it does.

Det fungerar. Men känns inte som en helt bra lösning. Känns lite slöare. Att bara köra RAND() AS myRandom hjälpte inte. Utan är tvungen att ha MD5() också ...

Någon som har mer info?

Medlem sedan aug. 2002114 inlägg
#2

Inget? Inte äns Lars G?

253 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
124 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)