MySQL: использование случайной функции в существующей таблице для генерации производного столбца - PullRequest
0 голосов
/ 28 мая 2020

У меня есть таблица «продукт» со столбцом «категория», которая состоит из 10 различных категорий без столбца category_id. Я хочу получить таблицу с новым столбцом category_id для каждой категории.

select product_id,description,category, round(rand(10)) as category_id from product;
select product_id,description,category, rand( over partition by 10) from product; 

используя вышеуказанный запрос, я пробовал "round (rand ())", однако это дает только 0 и 1, но я хочу, чтобы он выделил category_id для 10 продуктов от 1 до 10.

Также я хочу получить товары из двух случайных категорий

1 Ответ

1 голос
/ 28 мая 2020

Используйте FLOOR (1+ rand () * 10), это даст вам число от 1 до 10

select product_id,description,category,FLOOR(1+ rand() * 10) as category_id from product;
...