|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
Люди! Знаю что можно выбрать случайную строку используя RAND в конце запроса! КАК !?!?!?! ... |
|||
:
Нравится:
Не нравится:
|
|||
30.01.2002, 12:16 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
select * from таблица order by rand() limit 0, 1 ... |
|||
:
Нравится:
Не нравится:
|
|||
09.02.2002, 12:13 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
А у меня так не работает! Line 1: Incorrect syntax near 'limit'. Люди знающие, подскажите, а как можно сделать ВСЮ ВЫБОРКУ в случайном порядке? Увы, SELECT name1, ROUND(RAND() * 1000, 1) AS rn FROM names ORDER BY rn заполняет rn одинаковыми записями. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 12:30 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
Должно все работать: Проверь версию. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89.
mahoune ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 12:48 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
помню на форуме пхпклуба что-то писали про проблемы с order by rand() при больших объемах. И предлагали там такое решение: SELECT max(ID) FROM tab; потом используемым языком программирования генерируем случайное число в пределах $number = (1 ... max(ID)); и следующим запросом выбираем случайную строку: SELECT * FROM tab WHERE ID > $number LIMIT 0,1 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 14:36 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
Макс М. этот пример будет работать тольkо если в первичном ключе нет дырок лучше уж так: SELECT count (ID) FROM tab; потом используемым языком программирования генерируем случайное число в пределах $number = (1 ... count (ID)); и следующим запросом выбираем случайную строку: SELECT * FROM tab LIMIT $number ,1 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 15:47 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
fedd > этот пример будет работать тольkо если в первичном ключе нет дырок Это было бы если бы я в условии написал SELECT * FROM tab WHERE ID = $number LIMIT 0,1 хотя баг действительно есть - этот пример не будет работать если скрипт сгенерит случайное число равное max(ID) - в это случае условие не выполнится. Правильнее будет SELECT * FROM tab WHERE ID >= $number LIMIT 0,1 ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 17:11 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
я имел ввиду - если есть большая дырка, например, то очень часто будет выскакивать запись с айдишником, который сразу после дырки. это, наверно, не та случайность. ... |
|||
:
Нравится:
Не нравится:
|
|||
02.09.2003, 17:13 |
|
Выборка случайной строки
|
|||
---|---|---|---|
#18+
Сам это недавно искал а всего-то: Код: 1.
... |
|||
:
Нравится:
Не нравится:
|
|||
30.10.2003, 14:31 |
|
|
start [/forum/topic.php?fid=47&fpage=698&tid=1855660]: |
0ms |
get settings: |
12ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
79ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
47ms |
get tp. blocked users: |
2ms |
others: | 325ms |
total: | 498ms |
0 / 0 |