Generate_Series для мин и макс даты
-
20-12-2019 - |
Вопрос
Вот очень базовый запрос, который я хочу выполнить в базе данных GreenPlum (например, PostgreSQL 8.2.15).
Поле create_date в таблице t - Timestamp W / o часовой пояс. Может кто-нибудь указать мне правильному запросу, чтобы сделать это?Спасибо.
select * from generate_series ((select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1),(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1))
.
Его бросание ошибки
ERROR: function generate_series(double precision, double precision) does not exist
.
Линия 1: Выберите * от Generate_Series ((выберите извлечение (год от Mi ... ^ Подсказка: без функции не совпадает с заданным именем и типами аргументов.Возможно, вам понадобится добавить четки явных типов.
Решение
Вы можете явные аргументы в целое число:
select *
from generate_series (
(select EXTRACT (YEAR FROM MIN(t1.create_date)) from t1)::int,
(select EXTRACT (YEAR FROM MAX(t1.create_date)) from t1)::int
)
.
Не связан с StackOverflow