|
Генерация данных
|
|||
---|---|---|---|
#18+
Как сгенерировать 100 000 записей у поля purchase_datetime по принципу: - 1/3 записей purchase_datetime в 2017 году (распределите записи в течение года более-менее равномерно); - 1/3 записей purchase_datetime в 2019 году (распределите записи в течение года более-менее равномерно); - 1/3 записей purchase_datetime в 2020 году (распределите записи в течение года более-менее равномерно); Я сделал запрос и сгенерировал 100 000 записей, но по одному условию за 2017 год. Как сделать по всем трём условиям? create table if not exists sold_car_service as select generate_series(1,100000) as id, md5(random()::text)::char(17) as car_vin_code, (random() * 18 + 1)::int as car_model_id, ('2017-01-03'::date - interval '2 day' + interval '12 month' * random())::date as purchase_datetime; SELECT 100000; alter table sold_car_service add primary key (id); alter table sold_car_service ADD FOREIGN KEY (car_model_id) references products(id) ON DELETE CASCADE; select * from sold_car_service; ... |
|||
:
Нравится:
Не нравится:
|
|||
10.06.2021, 23:58 |
|
Генерация данных
|
|||
---|---|---|---|
#18+
Максим Сысоев, может CASE + деление с остатком? как то так например select id, md5(random()::text)::char(17) as car_vin_code, (random() * 18 + 1)::int as car_model_id, case when id % 3 = 0 then ('2017-01-03'::date - interval '2 day' + interval '12 month' * random())::date when id % 3 = 1 then ('2019-01-03'::date - interval '2 day' + interval '12 month' * random())::date when id % 3 = 2 then ('2020-01-03'::date - interval '2 day' + interval '12 month' * random())::date end as purchase_datetime from generate_series(1,100000) as id order by purchase_datetime; ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 12:04 |
|
Генерация данных
|
|||
---|---|---|---|
#18+
gav21, Сойдет! Спасибо, респект и уважуха! ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 19:00 |
|
Генерация данных
|
|||
---|---|---|---|
#18+
gav21, Я не силен в продвинутом sql, поэтому не владею навыками генерации таких последовательностей. Еще как можно для поля buyer_name сгенерировать Buyer1, Buyer2, Buyer3....? возможны повторения ... |
|||
:
Нравится:
Не нравится:
|
|||
11.06.2021, 19:33 |
|
|
start [/forum/topic.php?fid=53&fpage=10&tid=1993978]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
65ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 289ms |
total: | 450ms |
0 / 0 |