|
Рандомная сортировка | ☑ | ||
---|---|---|---|---|
0
impulse9
18.04.13
✎
10:20
|
Можно ли в запросе сделать рандомную сортировку результатов? Т.е. которая каждый раз будет выдавать другую последовательность при одном и том же источнике?
И не спрашивайте, зачем мне это... |
|||
1
skunk
18.04.13
✎
10:21
|
нет
|
|||
2
vicof
18.04.13
✎
10:22
|
можно
|
|||
3
ДенисЧ
18.04.13
✎
10:22
|
рандомная сортировка... Оригинально...
Сортировка - по определению упорядочивание, никакого рандома... |
|||
4
Wobland
18.04.13
✎
10:22
|
(3) упорядочивание по случайно генерируемому ключу?
|
|||
5
Wobland
18.04.13
✎
10:22
|
(4) *сгенерированному
|
|||
6
andreymongol82
18.04.13
✎
10:22
|
можно, только слово "сортировка" будет лишняя
|
|||
7
impulse9
18.04.13
✎
10:23
|
(4) спасибо за наводку )
|
|||
8
Wobland
18.04.13
✎
10:24
|
Функция ПолучитьСлучайнуюНоменклатуру(Исключаемые=0) Экспорт
ГСЧ=Новый ГенераторСлучайныхЧисел; Запрос=Новый Запрос; Запрос.Текст= "ВЫБРАТЬ | Номенклатура.Ссылка |ИЗ | Справочник.Номенклатура КАК Номенклатура |ГДЕ | (НЕ Номенклатура.Ссылка В (&Исключение) ИЛИ &Исключение=0) | И НЕ Номенклатура.ПометкаУдаления"; Запрос.УстановитьПараметр("Исключение", Исключаемые); Результат=Запрос.Выполнить().Выгрузить(); Если Результат.Количество()=0 Тогда Возврат Справочники.Номенклатура.ПустаяСсылка(); Иначе Возврат Результат[ГСЧ.СлучайноеЧисло(0, Результат.Количество()-1)].Ссылка; КонецЕсли; КонецФункции |
|||
9
andreymongol82
18.04.13
✎
10:24
|
это раз.СлучайноеЧисло(<НижнийДиапазон>, <ВерхнийДиапазон>)
это два. прицепилять новый гуид |
|||
10
Defender aka LINN
18.04.13
✎
10:32
|
(0) Порядок записей без конструкции УПОРЯДОЧИТЬ в запросе тебе и так никто не гарантирует
|
|||
11
impulse9
18.04.13
✎
10:37
|
ГСЧ=Новый ГенераторСлучайныхЧисел;
Запрос = Новый Запрос; Запрос.Текст ="ВЫБРАТЬ | ХозрасчетныйОстатки.Счет, | ХозрасчетныйОстатки.Субконто1, | ХозрасчетныйОстатки.КоличествоОстаток, | ХозрасчетныйОстатки.СуммаОстаток |ИЗ | РегистрБухгалтерии.Хозрасчетный.Остатки(&КонПериода, Счет = &Счет, , ) КАК ХозрасчетныйОстатки"; //Таблица = NewObject("ТаблицаЗначений"); Таблица = Запрос.Выполнить().Выгрузить(); Таблица.Колонки.Добавить("Рандом"); Таблица.ЗаполнитьЗначения(ГСЧ.СлучайноеЧисло(),"Рандом"); Таблица.Сортировать("Рандом Возр"); |
|||
12
Wobland
18.04.13
✎
10:39
|
(11) хехе, сейчас ты удивишься
|
|||
13
tdm
18.04.13
✎
10:39
|
(11) ЗаполнитьЗначения() - заполнит всю колонку одним числом)))) смысл по нему сортировать ?)
|
|||
14
impulse9
18.04.13
✎
10:41
|
Ну тогда конечно циклом можно заполнить... но циклом как-то не по-пацански чтоли
|
|||
15
cathode
18.04.13
✎
10:51
|
(11)
int getRandomNumber() { return 4; // chosen by fair dice roll // guaranteed to be random. } Типа, случайное число: я сам лично кубик бросил :) |
|||
16
Infsams654
18.04.13
✎
10:59
|
РебятаЮ в не въехали. (0) просит отсортировать результат случайным образом.
1-е, что приходит на ум, создать в ТЗ результата поле, заполнить в цикле рэндомом, затем отсортировать |
|||
17
impulse9
18.04.13
✎
11:08
|
(16) в цикле я уже сделал, хочется более грамотного решения, прямо в запросе....
|
|||
18
Wobland
18.04.13
✎
11:09
|
(17) передай в запрос таблицу, заполненную мусором. будет в запросе
|
|||
19
1Сергей
18.04.13
✎
11:11
|
А вот в MS SQL есть функция случайного числа CRYPT_GEN_RANDOM ( length [ , seed ] )
:) |
|||
20
Infsams654
18.04.13
✎
11:16
|
(17) прямо в запросе <> грамотно
если бы было иначе, тогда бы не было Transact SQL, PL SQL и пр. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |