История изменений
Исправление Toxo2, (текущая версия) :
Можно ещё такой финт ушами:
SELECT
date_part('month',enter_date)
,(string_to_array(max(enter_date || '>' || amount), '>'))[1]::timestamp
,(string_to_array(max(enter_date || '>' || amount), '>'))[2]::int
FROM
budget
GROUP BY 1;
Если верить EXPLAIN - стоимость запроса даже дешевле, чем у Максима.
Исправление Toxo2, :
Можно ещё такой финт ушами:
SELECT
date_part('month',enter_date)
,(string_to_array(max(enter_date || '>' || amount), '>'))[1]::timestamp
,(string_to_array(max(enter_date || '>' || amount), '>'))[2]::int
FROM
budget
GROUP BY 1;
Если верить EXPLAIN - стоимость запроса даже дешевле, чем у Максима.
string_to_array всё равно объявлена, как IMMUTABLE PARALLEL SAFE
и по идее не будет два раза вызываться для одних и тех же аргументов.
Исходная версия Toxo2, :
Можно ещё такой финт ушами:
SELECT
date_part('month',enter_date)
,(string_to_array(max(enter_date || '>' || amount), '>'))[1]::timestamp
,(string_to_array(max(enter_date || '>' || amount), '>'))[2]::int
FROM
budget
GROUP BY 1;
Если верить EXPLAIN - стоимость запроса даже дешевле, чем у Максима.