Случайная выборка SQL внутри групп

Опубликовано: 31 Августа, 2022

RANDOM() в SQL обычно используется для возврата случайной строки из таблицы, имеющейся в базе данных. Здесь мы увидим, как сделать случайную выборку внутри групп в SQL, используя функцию RANDOM(). Для демонстрации мы создадим таблицу «сотрудники» в базе данных под названием «индустрия».

Шаги для случайной выборки SQL в группах:

Шаг 1: Создание базы данных

Ниже оператор SQL создает базу данных под названием «индустрия».

Запрос:

CREATE DATABASE industry;

Шаг 2: Использование базы данных.

Ниже оператор SQL переключает контекст базы данных на отрасль:

Запрос:

USE industry;

Шаг 3: Определение таблицы

У нас есть следующая таблица сотрудников в нашей отраслевой базе данных.

Запрос:

CREATE TABLE employees (
Emp_Id INTEGER PRIMARY KEY,
Emp_Name TEXT NOT NULL,
Emp_Email TEXT NOT NULL
);

Шаг 4: Вставка данных в таблицу

Ниже оператор SQL вставляет данные в таблицу сотрудников:

Запрос:

INSERT INTO employees (Emp_Id, Emp_Name, Emp_Email)
 VALUES (1001, "Hopper", "hopper@itcomputers.com"),
 (1002, "Lucas", "lucas@itcomputers.com"),(1003, "Max", 
 "max@itcomputers.com"), 
(1004, "Robin", "robin@itcomputers.com"),
(1005, "Suzie", "suzie@itcomputers.com"),
(1006, "Will", "will@itcomputers.com"),
(1007, "Jane", "jane@itcomputers.com"),
(1008, "Mike", "mike@itcomputers.com"),
(1009, "Juliana", "juliana@itcomputers.com"),
(1010, "Lily", "lily@itcomputers.com"),
(1011, "Luke", "luke@itcomputers.com");

Шаг 5: Ниже оператор SQL отображает содержимое таблицы.

Запрос:

SELECT * FROM employees;

Выход:

Теперь давайте узнаем, как сделать случайную выборку в группах в SQL, используя функцию RAND(). Ниже приведена инструкция SQL для отображения строк в случайном порядке с использованием функции RAND():

Запрос:

SELECT * FROM table_name order by RANDOM();

В table_name укажите имя вашей таблицы. Ниже приведена инструкция SQL для отображения определенного количества случайных строк из таблицы с использованием функции RAND():

Запрос:

SELECT * FROM table_name order by RANDOM() LIMIT n;

В table_name укажите имя вашей таблицы, а вместо «n» укажите, сколько строк нужно извлечь. Лимит определяет количество строк, которые будут выбраны случайным образом из таблицы.

Пример:

SQL-запрос для возврата строк в таблице «сотрудники» в случайном порядке.

Запрос:

SELECT * FROM employees order by RANDOM();

Выход:

SQL-запрос для возврата восьми (8) случайных чисел строк из таблицы «сотрудники»:

Запрос:

SELECT * FROM employees order by RANDOM() LIMIT 8;

Выход:

SQL-запрос для возврата двух строк из таблицы «сотрудники»:

Запрос:

SELECT * FROM employees order by RANDOM() LIMIT 2;

Выход: