Прошу помощи в написании запроса

Добрый день!
Есть таблица со следующими полями:
dt - timestamp with timezone;
vol - bigint.
Строки записываются каждую минуту. Нужно сформировать таблицу с такими же полями но сжать в 5 раз, тоесть dt будет с периодичностью в 5 минут, а vol = сумма за этот 5 минутный интервал.

Заранее спасибо.

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

А что не получается-то?

А что не получается-то?

не знаю какой нужно

не знаю какой нужно сформировать запрос.

Немного магии:

SELECT dt - ('0:' || (date_part('min', dt)::integer % 5) || ':' || date_part('sec', dt) )::interval AS dt,
       sum(vol)
  FROM TABLE
 GROUP BY 1

запрос (UPDATE).

Добрый день,
помогите пожалуйста с запросом (UPDATE).

Есть таблица user_preferences,
где, column_name - user_id, ppreferences_value, preferences_key
необходимо заменить суфикс email-ла у всех пользователей,

вот запрос для селекта:
SELECT p.preferences_value
FROM user_preferences p
WHERE p.preferences_key = 'UserEmail'

необходимо, пример name@qwe.com заменить НА name@comp-ny.com

А что не

А что не получается?
Используйте функцию получения подстроки из колонки с E-mail которая выкусывает всё что после @, а потом устанавливайте это значение как конкатенацию полученной подстроки и 'comp-ny.com'
Функции подстроки и конкатенации найдёте здесь:
http://postgresql.ru.net/manual/functions-string.html

Опции просмотра комментариев

Выберите предпочитаемый вами способ показа комментариев и нажмите "Сохранить настройки" для активации изменений.

Back to top

(С) Виктор Вислобоков, 2008-2023