Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Вниз

Сортировка записей в таблице БД   Найти похожие ветки 

 
Alex_AA ©   (2006-08-29 15:59) [0]

Подскажите, пожалуйста, как перемешать случайным образом записи (строки) в таблице базы данных? Сортировка по убыванию есть, по возрастанию тоже, а как просто перемешать?


 
Reindeer Moss Eater ©   (2006-08-29 16:02) [1]

Если есть сортировка, если записи отсортированы, то записи не лежат в случайном порядке. И наоборот.


 
Sergey13 ©   (2006-08-29 16:03) [2]

> [0] Alex_AA ©   (29.08.06 15:59)

Нужно значение поля, или функция от этого значения, дающая "случайный" результат.


 
unknown ©   (2006-08-29 16:08) [3]

Alex_AA ©   (29.08.06 15:59)
По идее, записи в бд и так лежат в случайном порядке.
Если же так необходимо такую псевдо рандомную сортировку -
то надо добавить отдельное поле, в которое выводить случайные
числа. По нему и сортировать. Вполне "случайный" порядок получится :)


 
novill ©   (2006-08-29 16:11) [4]

> Нужно значение поля, или функция от этого значения, дающая
> "случайный" результат.

выбираешь наиболее уникальное для таблицы (сочетание полей), какую-нить хеш-функцию от этого безобразия и по ней сортируешь :)


 
Anatoly Podgoretsky ©   (2006-08-29 16:13) [5]

Alex_AA ©   (29.08.06 15:59)  
Если не рассматривать некоторые изврашения, то в базе данные не отсортированы, они в случайном порядке изначально.


 
Reindeer Moss Eater ©   (2006-08-29 16:13) [6]

Как соотносятся друг с другом случайность и отсортированность ?
:)


 
ANB ©   (2006-08-29 16:20) [7]


> они в случайном порядке изначально

Ну, не совсем в случайном. Обычно они валяются в порядке добавления. Если же были удаления, то некоторые СУБД используют место удаленных записей под новые. SQL запрос, если не указан order by возвращает данные в том порядке, в каком удобнее серверу (как правило, как выгреблись, так и приедут). О нормальной случайности тут речи быть не может.


 
Anatoly Podgoretsky ©   (2006-08-29 16:21) [8]

ANB ©   (29.08.06 16:20) [7]
Ты это гарантируешь?
Гарантируешь, что запрос вернет именно в этом порядке?
Теория и практика говорит, что нет.


 
Anatoly Podgoretsky ©   (2006-08-29 16:23) [9]

Кроме того нет механизма, который обеспечил бы такую операцию, как добавить/поместить запись, например третей. А вопрос стоит именно о сортировке в базе!!!


 
ANB ©   (2006-08-29 16:53) [10]


> Anatoly Podgoretsky ©   (29.08.06 16:23) [9]

Ну она тем более не случайна, а подчиняется некоему алгоритму, придуманному разработчиками СУБД :)


 
Anatoly Podgoretsky ©   (2006-08-29 16:56) [11]

ANB ©   (29.08.06 16:53) [10]
Не о них идет речь, а том, как поместить/переместиь какую то запись в конкретную позицию, не хакерскими методами. Кстати в вопросе фигурирует Парадокс, а это как раз такая база, которая повторно использует удаленные записи, чем гарантируется неупорядоченность, даже по времени добавления.


 
ANB ©   (2006-08-29 18:05) [12]


> Anatoly Podgoretsky ©   (29.08.06 16:56) [11]

Вопросе взаимоисключающие требования. Но по
> Сортировка по убыванию есть, по возрастанию тоже, а как
> просто перемешать?

я протелепатировал, что автор имел в виду порядок записей в результирующем наборе данных.


> чем гарантируется неупорядоченность

Она не гарантируется, если не было удалений.
Но порядок записей в результирующем наборе данных может отличаться от физического порядка хранения записей в файле таблицы.


 
Anatoly Podgoretsky ©   (2006-08-29 20:03) [13]

Скажем так повезет если будет совпадать


 
Alex_AA ©   (2006-08-30 06:17) [14]

Спасибо. Идею понял



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2006.10.29;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.057 c
2-1160993775
Max_lbp
2006-10-16 14:16
2006.10.29
Регистрация расширений файлов


15-1160141120
partizan
2006-10-06 17:25
2006.10.29
Посоветуйте книгу по криптографии


2-1160992971
vegarulez
2006-10-16 14:02
2006.10.29
Народ, подскажите компоненту для обмена по протоколу HTTPS.


1-1158653950
Pavelkq
2006-09-19 12:19
2006.10.29
try except и присвоение значения переменной


2-1160705558
Sunrice
2006-10-13 06:12
2006.10.29
поиск по тексту с последующим вырезанием кусков





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский