Вывести запись столько раз, сколько требуется - MySQL

Узнай цену своей работы

Формулировка задачи:

Приветствую! Допустим, есть таблица:

ID

TITLE

1 Иванов
2 Петров
3 Сидоров
Есть перечень id. Например: 3,1,2,2,3,1,2. Нужно сформулировать запрос, чтобы на основе этого перечня получить такой результат:

TITLE

Сидоров
Иванов
Петров
Петров
Сидоров
Иванов
Петров
Кто подскажет, как такое сделать?

Решение задачи: «Вывести запись столько раз, сколько требуется»

textual
Листинг программы
  1. SELECT name FROM
  2. (
  3.     SELECT 3 AS id
  4.     UNION ALL
  5.     SELECT 1 AS id
  6.     UNION ALL
  7.     SELECT 2 AS id
  8.     UNION ALL
  9.     SELECT 2 AS id
  10.     UNION ALL
  11.     SELECT 3 AS id
  12.     UNION ALL
  13.     SELECT 1 AS id
  14.     UNION ALL
  15.     SELECT 2 AS id
  16. ) AS tmp
  17. JOIN
  18. tbl ON tbl.id = tmp.id;

Объяснение кода листинга программы

В данном коде выполняется операция выбора записей из таблицы tbl с использованием временной таблицы tmp.

  1. Создается подзапрос, который выводит последовательность чисел: 3, 1, 2, 2, 3, 1, 2. Это делается с использованием оператора SELECT и оператора UNION ALL, который объединяет несколько выборок в одну.
  2. Эта выборка чисел затем используется во внешнем запросе для объединения с таблицей tbl по полю id. Это делается с использованием оператора JOIN.
  3. В результате получается выборка из таблицы tbl, где записи повторяются столько раз, сколько они встречаются в последовательности чисел. Этот код можно использовать, например, для тестирования нагрузки на базу данных или для проверки производительности запросов.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.077 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы