Вот ситуация.У меня есть одна таблица базы данных со столбцами ниже:
PATIENT_ID
PATIENT_GROUP
FIRSTNAME
LASTNAME
ADDRESS
Я хочу получить PATIENT_ID
случайным образом от определенного PATIENT_GROUP
.
Есть 5 PATIENT_GROUP
только с общей строкой в таблицесоставляет около 10000 (10K).Количество данных на PATIENT_GROUP
не одинаково.Некоторые PATIENT_GROUP
имеют меньше данных, чем другие.Знаете ли вы самый быстрый возможный SQL-запрос для этой задачи?Кстати, я использую SQLite3.
Когда нет PATIENT_GROUP
, я мог бы задать этот запрос:
SELECT PATIENT_ID FROM TB_Patient
WHERE rowid >= (ABS(RANDOM()) % (SELECT MAX(rowid) FROM TB_Patient)) LIMIT 1
Какой ваш лучший подход для решения этой проблемы?Цель - максимально быстрый запрос.
Спасибо.