webForumDet fria alternativet
Logga in / Bli medlem

ORDER BY RAND() i MySQL 3.23.54.

Databaser & SQL

1 svar · 294 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?

265 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)