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

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


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

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



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

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

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

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

Best regards,
Dnico
.

Скорее всего FB 1.5 и выше.
P.S. /topic/89972
...
Рейтинг: 0 / 0
Период между сообщениями больше года.
25.05.2017, 22:21
    #39460016
Polaris2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно сгруппировать данные по полю TIMESTAMP
Подскажите, мастера! У меня 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
26.05.2017, 00:21
    #39460043
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно сгруппировать данные по полю TIMESTAMP
Polaris2000,

InterBase не поддерживает группировку по номерам столбцов. А группировку по алиасам не поддерживает и Firebird тоже (может ФБ 3.0 может, не помню).
...
Рейтинг: 0 / 0
26.05.2017, 07:19
    #39460085
Polaris2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно сгруппировать данные по полю TIMESTAMP
kdv,
неужели в Interbase не получить запросом количество записей по дням или часам?
Скажу сразу, что вносить изменения в базу я не могу.
...
Рейтинг: 0 / 0
26.05.2017, 08:21
    #39460103
Как можно сгруппировать данные по полю TIMESTAMP
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
26.05.2017, 17:14
    #39460592
Polaris2000
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно сгруппировать данные по полю TIMESTAMP
Па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
26.05.2017, 18:51
    #39460647
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно сгруппировать данные по полю TIMESTAMP
Polaris2000,

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


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