У меня есть таблица с [ID, ATTR1, ATTR2, ATTR3]
. Я хотел бы выбрать примерно половину элементов, но постараюсь получить случайный набор результатов, НЕ сгруппированный. Другими словами, существует довольно равномерный разброс значений ATTR1, значений ATTR2 и значений ATTR3. Это НЕ обязательно представляет данные в целом, другими словами, общая таблица может быть обычно сосредоточена на определенных значениях атрибутов, но я хотел бы выбрать подмножество с большим разнообразием. Атрибуты не связаны между собой, поэтому на самом деле нет корреляции между ATTR1 и ATTR2.
В качестве примера представьте, что ATTR1 = "State". Я бы хотел, чтобы каждая позиция в моем подмножестве относилась к разному состоянию, даже если во всем наборе большая часть моих данных сосредоточена в нескольких состояниях. И чтобы это одновременно относилось и к другим двум атрибутам. (Я понимаю, что некоторые таблицы могут не сделать это возможным, но данных достаточно, что вряд ли найдется решение)
Есть идеи для эффективного алгоритма? Спасибо! Я даже не знаю, как это искать :)
(кстати, это нормально, если для этого требуется предварительный расчет или -индексирование для всего набора, если я могу быстро выделить случайные различные подмножества)