powered by simpleCommunicator - 2.0.52     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно сгруппировать данные по полю TIMESTAMP
11 сообщений из 11, страница 1 из 1
Как можно сгруппировать данные по полю TIMESTAMP
    #32758589
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПРИВЕТ !!!

Возникла проблемка ... Есть в таблице поле DT (TIMESTAMP) и нужно получить
выборку по датам.
Код: plaintext
SELECT DT, SUM(QTY) FROM TABLE1 GROUP BY DT
Естественно что этот запрос выдает группы с точностью до секунд ,
а вот как сделать так, чтобы группировалось без учета времени ?


Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #32758596
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Пардон ... совсем заработался ...
Это можно в FAQ добавить

Ответ:
Код: plaintext
SELECT CAST(DT AS DATE), SUM(QTY) FROM TABLE1 GROUP BY  1 



Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #32758640
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dnico

В фак по какому серверу ?

...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #32758785
Фотография Dnico
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FB/IB ... скорее всего ...

Best regards,
Dnico
.
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #32758888
Somebody2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
DnicoFB/IB ... скорее всего ...

Best regards,
Dnico
.

Скорее всего FB 1.5 и выше.
P.S. /topic/89972
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
Как можно сгруппировать данные по полю TIMESTAMP
    #39460016
Polaris2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Подскажите, мастера! У меня Interbase 2009.
Запрос вида
Код: plsql
1.
SELECT EXTRACT (DAY FROM MY_TIMESTAMP) AS MyDate, COUNT(*) FROM MY_TABLE GROUP BY MY_TIMESTAMP


как у Dnico выдает группы с точностью до секунд (и это понятно), а если я меняю запрос на
Код: plsql
1.
SELECT EXTRACT (DAY FROM MY_TIMESTAMP) AS MyDate, COUNT(*) FROM MY_TABLE GROUP BY MyDate 

или
Код: plsql
1.
SELECT EXTRACT (DAY FROM MY_TIMESTAMP) AS MyDate, COUNT(*) FROM MY_TABLE GROUP BY 1

вылетает ошибка: "Column does not belong to referenced table. Column unknown."

Как еще получить группы по дням?
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #39460043
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Polaris2000,

InterBase не поддерживает группировку по номерам столбцов. А группировку по алиасам не поддерживает и Firebird тоже (может ФБ 3.0 может, не помню).
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #39460085
Polaris2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
kdv,
неужели в Interbase не получить запросом количество записей по дням или часам?
Скажу сразу, что вносить изменения в базу я не могу.
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #39460103
Polaris2000,

Не силен в Interbase, но смею предположить что такой вариант может сработать

Код: sql
1.
2.
3.
SELECT EXTRACT (DAY FROM MY_TIMESTAMP) AS MyDate, COUNT(*) 
FROM MY_TABLE 
GROUP BY EXTRACT (DAY FROM MY_TIMESTAMP) 



либо, с помощью конструкции запроса в запросе:

Код: sql
1.
2.
3.
4.
5.
6.
select ...
from (
         select EXTRACT (DAY FROM MY_TIMESTAMP) as MyDate, id
         from MY_TABLE 
        ) tbl
group by tbl.MyDate
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #39460592
Polaris2000
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПаWWWлОдАрЕц,
первый вариант не признал второй EXTRACT, а
Код: plsql
1.
select MyDate, Count(*) from (select EXTRACT (DAY FROM MY_TIMESTAMP) as MyDate from MY_TABLE) tbl group by tbl.MyDate

выдал: "Invalid token. Dynamic SQL Error. SQL error code = -104. Token unknown - line 1, char 20. select.".
...
Рейтинг: 0 / 0
Как можно сгруппировать данные по полю TIMESTAMP
    #39460647
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Polaris2000,

select from select есть только в ИБ 2017, да и то с определенными условностями. В плане группировок по функциям, алиасам и номерам столбцов у ИБ язык sql сильно ограничен, ничего того что в ФБ не поддерживает.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Как можно сгруппировать данные по полю TIMESTAMP
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]