Вот так выглядит мой стол
Column | Type |
--------+--------------+
id | integer |
date | date |
open | numeric(9,2) |
close | numeric(9,2) |
low | numeric(9,2) |
high | numeric(9,2) |
Я бы хотел получить дату наименьшего значения закрытия для данного месяца за все месяцы.
Это то, что мне удалось получить,
SELECT
temp_table.year, temp_table.month, MIN(close)
FROM
(
SELECT
date_trunc('year', date) as year, date_trunc('month', date) as month, date, close
FROM
sensex_sensex
GROUP BY
year, month, date, close
ORDER BY
year, month
) AS temp_table
GROUP BY
temp_table.year, temp_table.month
ORDER BY
temp_table.year DESC, temp_table.month DESC;
Это дает мне год и наименьшее значение закрытия.
Но когда я пытаюсь добавить дату, я получаю все строки вместо того, чтобы группировать их по годам и месяцам.
Как мне получить результат как
Year | Month | Date of Lowest Close in a Month | Lowest Close in a Month
Также дополнительно,
Я также хотел бы найти как минимум 5 близких значений за месяц с их датами, снова сгруппированными по году и месяцу.