#postgresql
#postgresql
Вопрос:
Я новичок в Postgres. У меня есть таблица, которая выглядит следующим образом:
User
----
id (int)
createdOn (bigint)
isDeleted (boolean)
CreatedOn представляет количество миллисекунд, прошедших с эпохи. Я пытаюсь выяснить, сколько пользователей было создано за каждый день, у которых есть IsDeleted флаг 0. Я пробовал следующее, но это не работает:
SELECT date_trunc('day', u.createdOn) AS "Day" , count(*) AS "No. of users"
FROM User u
WHERE u.isDeleted = 0
GROUP BY 1
ORDER BY 1;
Как мне создать этот запрос?
Спасибо!
Ответ №1:
Вы не говорите, что не работает, но я предполагаю, что это date_trunc
функция
select
date_trunc('day', to_timestamp(createdOn)) as "Day",
count(*) as "No. of users"
from User
where isDeleted = 0
group by 1
order by 1;
Комментарии:
1. Он не показывает количество за день. Он показывает только один день.
2. @user70192 Опубликуйте некоторые данные и схему таблицы:
d the_table
.3. @user70192 Новое исправление (угадано). Если это секунды вместо миллисекунд, тогда нет необходимости делить на 1000