powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Рандом в sql - разбить на две группы
5 сообщений из 5, страница 1 из 1
Рандом в sql - разбить на две группы
    #40032189
BorNik123456789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В таблице «критерии» есть столбец «флаг» с нулями и единицами. Необходимо, все строки, где «флаг» = 1 разбить на две группы (группа 1 и группа 2) случайным образом. Причём группа 1 и группа 2 должны разбиваться в пропорции 50%/50%. Где «флаг» = 0 ничего не делать, поле группа оставить пустым.
...
Рейтинг: 0 / 0
Рандом в sql - разбить на две группы
    #40032230
Gluck99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorNik123456789
разбить на две группы (группа 1 и группа 2) случайным образом.
Причём группа 1 и группа 2 должны разбиваться в пропорции 50%/50%.
Т.е. строго рандомным (RAND())? В пропорции по отношению к чему? К количеству записей?
...
Рейтинг: 0 / 0
Рандом в sql - разбить на две группы
    #40032234
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
WITH 
cte AS ( SELECT id, val, flag, ROW_NUMBER() OVER (ORDER BY RAND()) rn
         FROM criteria
         WHERE flag )
    SELECT id, val, flag, 1 + (rn MOD 2) `group`
    FROM cte
UNION ALL
    SELECT id, val, 0, 0
    FROM criteria
    WHERE !flag
ORDER BY 3,1,2
...
Рейтинг: 0 / 0
Рандом в sql - разбить на две группы
    #40032351
BorNik123456789
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gluck99, да - строго рандомно разбросать, в пропорции ко всем записям с «флагом» = 1. То есть если у нас есть 100 записей, и из них у 60 флаг -«0», а у 40 -«1», то те что с «1» нужно разбросать на две группы по 20 записей рандомно.
...
Рейтинг: 0 / 0
Рандом в sql - разбить на две группы
    #40032406
Фотография Alex_Ustinov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BorNik123456789,

это откуда такая задача?)
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Рандом в sql - разбить на две группы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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