|
|
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Есть такая проблемка: нужно из таблицы взять 3 случайных записи. Естественно, чтобы он не повторялись. вот только как это сделать, представляю ну очень приблизительно. Может, кто-то поделится мыслями по этому поводу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 09:01 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
top 3 в селекте без сортировки - и дело с концом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 12:09 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Top 3 в селекте без сортировки будет чаще всео выдавать одни и те же 3 записи. При отстутствии явно указанной сортировки записи сортируются по ключу (если есть), по индексам (если есть), в порядке создания (если ниаких индексов). Так что лучше сделать Top 3 с сортировкой по функции Rnd([ЛюбоеПоле]) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 15:13 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Видимо, я плохо понял про "чтобы не повторялись". Я решил, что эти 3 записи должны быть разными между собой. Если еще нужно, чтобы при следующем обращении выдались 3 других, то Лох прав (впрочем, как всегда). ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 19:29 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Саныч, ты неправильно понял про случайные записи. Ну и чтоб не повторялись Марос Марос Эх Ни марось миня Эх ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 22:52 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
> Марос > Марос Лох, у тебя две записи получились одинаковыми. Мнбым? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:00 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Саныч, ты бы знал, сколько сраных записей у меня получились одинаковыми... Я каждый день сдаю экзамен. И каждый день его проваливаю... (с) А.Гордон Мнбым? Крю? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:06 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
> Крю? Мы нашли общий язык!!! Интересно, что мне для этого не пришлось напиваться. Наверно, я потому и не пью, что и без того такой... Да простит меня автор вопроса... Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:18 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Возможно, это поможет\r \r /topic/41242\r \r Топик Tаrantino. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.07.2003, 23:57 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Спасибо всем огромное! Товарищи, господа, вы все просто великолепные дядьки! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 06:22 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Вот только проблемка еще возникла... я собссно, к базе через АСП обращаюсь. и у меня все хорошо, только раз за разом возвращаются одни и те же записи - типа вроде как randomize не сделал. А где его сделать ума не приложу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.07.2003, 07:23 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Точнее, выбирает он три последних записи почему-то. Причем, совершенно не играет роли по какому полю я делаю сортировку... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 10:05 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Могу предложить не очень изящный,но надежный способ. 1.Нумеруешь записи см. здесь 2.Находишь максимальный порядковый номер. 3.Генеришь 3 случайных числа в диапазоне 1-NNmax 4.Финальный аккорд: select ... from ... where NN in (num1,num2,num3) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 10:40 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
2VIG я с этого и начал, то есть почти с этого... Делал выборку в рекордсет, считал количество записей, 3 раза делал rnd(количество записей), так, что бы все 3 числа были разные, сортировал, потом проходил циклом по реордсету и вуаля... Работает - планета Железяка! а потом решил что изящнее будет брать три ГОТОВЫЕ СЛУЧАЙНЫЕ записи из запроса... да вот что-то случайность тут какая-то не случайная... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 11:15 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
2fundd Код: plaintext 1. У меня такой запрос работает! Только вместо 6 надо использовать число ,соответствующее Мах(id_val) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 11:47 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Приведение к инту - убрать! Выдаст несколько одинаковых интов - и в итоге вернет не 3 записи, а больше. Собственно без приведения - и домножать не нужно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 11:53 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Л.П,ты как всегда прав.Так тоже работает Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 12:16 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Что-то я тут не догоняю: Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 14:20 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
И опять же как Мах(id_val) находить? Предварительно делать выборку select *, или там select top 1 order by id_val desc - это понятно, но это опять нагромождение получается "Хочется ведь, как скорее" (с) Киса Воробьянинов & Ильф & Петров ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 14:34 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
А ты попробуй догони... Почитай про синтаксис команды select В данном случае Т2 это алиас (псевдоним) имени таблицы Table2 Полное имя поля имеет формат [Table_name].field_name Представь,что твоя таблица называется Штатное_расписание_дважды_орденоносного_завода_имени_двадцати_шести_бакинских_комиссаров_невинно_убиенных_жаркой_летней_ночью И тебе надо проджойнить ее с еще десятью подобными и выбрать из них поля с одинаковыми именами. Догнал? Но в данном конкретном сдучае можно и так Код: plaintext 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 14:44 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Это я точно не догнал :) но то что ты прислал, я уже делал - Лох Позорный посоветовал... и этот запрос возвращает 3 последние записи. То есть в Аксессе все работает правильно! А вот если беру из АСП - такая хрень вылазит. Баннеры на страничке должны меняться - а они, заразы на месте стоят... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 15:08 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
Если не трудно ,покажи как твой запрос в ASP выглядит? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 15:11 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
эээ гражданина ты туда не ходи ты сюда ходи а то башка снег попадет совсем дохлый будешь ASP не знаю, так что извиняй если что, но Как у тебя в asp работает вызов функции RND??? Я понимаю, что там тоже VB, но меня терзают смутные сомненья. Попробуй просто для всех записей выведи Rnd(id_val) куда-нибудь З.Ы. Если мне не изменяет мой склероз ((с) Саныч) кто-то недавно жаловался на работу рнд именно в асп. Утверждалось, что оно выдает на выбор 4 числа ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 15:15 |
|
||
|
Наверное, DMax... или нет?
|
|||
|---|---|---|---|
|
#18+
вот тут\r Пост АлексейК от 23 июл 03, 16:44 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.07.2003, 15:19 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32218881&tid=1680229]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
43ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
65ms |
get tp. blocked users: |
1ms |
| others: | 199ms |
| total: | 347ms |

| 0 / 0 |
