2017-01-23 3 views
-1

У меня есть таблица в PostgreSQL, который имеет следующие столбцыКак копировать столбцы таблицы

date  count  day 
_____  ______  _____ 
2015-04-01  10   1 
2015-04-02  30   1 
2015-04-03  90   1 
2015-04-04  10   1 
2015-04-05  80   1 
2015-04-06  90   1 

Я хочу, чтобы эта таблица будет за день 2-30. (Генерация случайных чисел для подсчета между 10 и 100) .Как повторить ряд даты в PostgreSQL.Any помощи ценится

date  count  day 
_____  ______  _____ 
2015-04-01  10   1 
2015-04-02  30   1 
2015-04-03  90   1 
2015-04-04  10   1 
2015-04-05  80   1 
2015-04-06  90   1 
2015-04-01  10   2 
2015-04-02  40   2 
2015-04-03  90   2 
2015-04-04  10   2 
2015-04-05  80   2 
2015-04-06  80   2 
2015-04-01  60   3 
2015-04-02  30   3 
2015-04-03  60   3 
2015-04-04  20   3 
2015-04-05  80   3 
2015-04-06  90   3 
+1

Вы должны выполнить поиск, прежде чем задавать вопрос. SO не является сайтом do-my-work-for-me. Быстрый поиск дал эти ... Циклические утверждения: http://www.postgresqltutorial.com/plpgsql-loop-statements/ Расчет даты: https://www.postgresql.org/docs/9.1/static/functions-datetime. html Случайное число: https://www.techonthenet.com/postgresql/functions/random.php Или, если это слишком сложно для вас, вы можете просто сделать инструкции INSERT в электронной таблице. –

+0

Прошу прощения, я начинаю в postgreSQL и теперь только изучаю его медленно. Я знаю, как генерировать серию дат и целых чисел отдельно. Проблема заключалась в объединении обоих. (Cross join). Любой способ спасибо за ссылки – RKR

ответ

1

Вы можете использовать generate_series для этого

select date, count, generate_series "day" from your_table t 
cross join (
    select * 
    from generate_series(1,30) 
) t2 order by 3, 1; 
+0

Yup this works отлично и спасибо за вступительное слово, которое я не знал раньше :) – RKR

Смежные вопросы