powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наверное, DMax... или нет?
25 сообщений из 42, страница 1 из 2
Наверное, DMax... или нет?
    #32218755
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая проблемка:
нужно из таблицы взять 3 случайных записи. Естественно, чтобы он не повторялись.
вот только как это сделать, представляю ну очень приблизительно. Может, кто-то поделится мыслями по этому поводу?
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218797
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
top 3 в селекте без сортировки - и дело с концом.
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218833
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Top 3 в селекте без сортировки будет чаще всео выдавать одни и те же 3 записи. При отстутствии явно указанной сортировки записи сортируются по ключу (если есть), по индексам (если есть), в порядке создания (если ниаких индексов).
Так что лучше сделать Top 3 с сортировкой по функции Rnd([ЛюбоеПоле])
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218881
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Видимо, я плохо понял про "чтобы не повторялись". Я решил, что эти 3 записи должны быть разными между собой. Если еще нужно, чтобы при следующем обращении выдались 3 других, то Лох прав (впрочем, как всегда).
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218905
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ты неправильно понял про случайные записи. Ну и чтоб не повторялись

Марос
Марос

Эх

Ни марось миня
Эх
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218908
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Марос
> Марос

Лох, у тебя две записи получились одинаковыми. Мнбым?
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218910
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Саныч, ты бы знал, сколько сраных записей у меня получились одинаковыми...
Я каждый день сдаю экзамен. И каждый день его проваливаю... (с) А.Гордон

Мнбым?
Крю?
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218913
Фотография Владимир Саныч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
> Крю?

Мы нашли общий язык!!! Интересно, что мне для этого не пришлось напиваться. Наверно, я потому и не пью, что и без того такой...

Да простит меня автор вопроса...

Код: plaintext
End Offtopic
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32218918
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возможно, это поможет\r
\r
/topic/41242\r
\r
Топик Tаrantino.
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32219147
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо всем огромное!
Товарищи, господа, вы все просто великолепные дядьки!
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32219152
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот только проблемка еще возникла...
я собссно, к базе через АСП обращаюсь.
и у меня все хорошо, только раз за разом возвращаются одни и те же записи - типа вроде как randomize не сделал. А где его сделать ума не приложу...
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220206
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Точнее, выбирает он три последних записи почему-то.
Причем, совершенно не играет роли по какому полю я делаю сортировку...
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220260
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Могу предложить не очень изящный,но надежный способ.
1.Нумеруешь записи см. здесь
2.Находишь максимальный порядковый номер.
3.Генеришь 3 случайных числа в диапазоне 1-NNmax
4.Финальный аккорд:
select ... from ... where NN in (num1,num2,num3)
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220318
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2VIG
я с этого и начал, то есть почти с этого...
Делал выборку в рекордсет, считал количество записей, 3 раза делал rnd(количество записей), так, что бы все 3 числа были разные, сортировал, потом проходил циклом по реордсету и вуаля...
Работает - планета Железяка!
а потом решил что изящнее будет брать три ГОТОВЫЕ СЛУЧАЙНЫЕ записи из запроса... да вот что-то случайность тут какая-то не случайная...
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220387
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
2fundd
Код: plaintext
1.
SELECT top  3  T2.id_val , T2.v1
FROM Table2 t2 order by Int(( 6  * Rnd(t2.id_val)) +  1 );

У меня такой запрос работает!
Только вместо 6 надо использовать число ,соответствующее Мах(id_val)
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220400
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Приведение к инту - убрать!
Выдаст несколько одинаковых интов - и в итоге вернет не 3 записи, а больше.
Собственно без приведения - и домножать не нужно.
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220456
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Л.П,ты как всегда прав.Так тоже работает
Код: plaintext
1.
SELECT top  3  T2.id_val , T2.v1
FROM Table2 t2 order by Rnd(t2.id_val);
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220841
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что-то я тут не догоняю:
Код: plaintext
1.
SELECT top  3  T2.id_val , T2.v1
FROM Table2 t2 order by Rnd(t2.id_val);
Почему у тебя имена полей через точку? Вообще, что есть T2 ?
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220879
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И опять же как Мах(id_val) находить? Предварительно делать выборку select *, или там select top 1 order by id_val desc - это понятно, но это опять нагромождение получается



"Хочется ведь, как скорее" (с) Киса Воробьянинов & Ильф & Петров
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220898
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ты попробуй догони...
Почитай про синтаксис команды select
В данном случае Т2 это алиас (псевдоним) имени таблицы Table2
Полное имя поля имеет формат [Table_name].field_name
Представь,что твоя таблица называется Штатное_расписание_дважды_орденоносного_завода_имени_двадцати_шести_бакинских_комиссаров_невинно_убиенных_жаркой_летней_ночью
И тебе надо проджойнить ее с еще десятью подобными и выбрать из них поля с одинаковыми именами. Догнал?
Но в данном конкретном сдучае можно и так
Код: plaintext
1.
SELECT top  3  id_val , v1
FROM Table2  order by Rnd(id_val);
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220953
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Это я точно не догнал :)
но то что ты прислал, я уже делал - Лох Позорный посоветовал...
и этот запрос возвращает 3 последние записи.
То есть в Аксессе все работает правильно!
А вот если беру из АСП - такая хрень вылазит.
Баннеры на страничке должны меняться - а они, заразы на месте стоят...
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220959
VIG
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если не трудно ,покажи как твой запрос в ASP выглядит?
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220969
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
эээ гражданина ты туда не ходи ты сюда ходи а то башка снег попадет совсем дохлый будешь
ASP не знаю, так что извиняй если что, но
Как у тебя в asp работает вызов функции RND??? Я понимаю, что там тоже VB, но меня терзают смутные сомненья. Попробуй просто для всех записей выведи Rnd(id_val) куда-нибудь
З.Ы. Если мне не изменяет мой склероз ((с) Саныч) кто-то недавно жаловался на работу рнд именно в асп. Утверждалось, что оно выдает на выбор 4 числа
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32220982
Фотография Лох Позорный
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот тут\r
Пост АлексейК от 23 июл 03, 16:44
...
Рейтинг: 0 / 0
Наверное, DMax... или нет?
    #32221093
Фотография Senin Viktor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На форуме SQL прелагали сортировать GUID. Самое что ни наесть уникальное значение (в пределах планеты, правда). Издержки: лишнии 16 байт на каждую запись.
...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Наверное, DMax... или нет?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]