Portál AbcLinuxu, 14. května 2025 01:09
MySQL
takže ORDER BY RAND()
zafunguje, ale jestli to je M$SQL
, tak ne, tam se hodnota RAND()
generuje pro dotaz, ne pro řádek.
ORDER BY NEWID()
, ale asi to je zbytecne resit, protoze tazatel psal ze to potrebuje pro MySQL
SET @r := (SELECT ROUND(RAND() * (SELECT COUNT(*) FROM mytable)));
SET @sql := CONCAT('SELECT * FROM mytable LIMIT 1 OFFSET ', @r);
PREPARE stmt1 FROM @sql;
EXECUTE stmt1;
Popř. lze samozřejmě dotaz složit i na klientovi, todle je čistě MySQL řešení...
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.