Числовые типы данных в Postgre SQL - PullRequest
0 голосов
/ 04 января 2019

Когда я пишу код для Postgre SQL. Я часто получаю нежелательный числовой тип, особенно в десятичной форме '0.12E3'.

Например,

with data as (
select created_at::timestamp::date as date,count(*)
from posts
group by created_at::timestamp::date
)
select date, count, sum(count) over
(order by date asc rows between unbounded preceding and current row) as total
from data

Этот код дает мне результат накопленной суммы в виде научной записи.

Почему это происходит, даже если в коде нет float? И как я могу сделать это правильно или избежать этого?

1 Ответ

0 голосов
/ 04 января 2019

вам нужно использовать псевдоним, когда вы используете agragate - как это:

with data as (
  select created_at::timestamp::date as date, count(*) as day_count
  from posts
  group by created_at::timestamp::date
)
select date, day_count, 
       sum(day_count) over (order by date asc rows between unbounded preceding and current row) as total
from data
...