Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом. Группировка / 10 сообщений из 10, страница 1 из 1
26.02.2004, 17:21
    #32423089
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Имеется view с тремя полями: Дата (date_z), сумма (sum_all), интернет (inet - значения 0 или 1).
Как сделать такой запрос с группировкой по дате, чтобы в результате у меня было три поля: дата, общая сумма за день, сумма за день строк с признаком inet=0.

напишу пример на фоксе, может можно аналог сделать.

select date_z, sum(sum_all) as sum1, sum(iif(inet=1,sum_all,0)) as sum2 from view1 group by date_z, inet
что-то в таком стиле можно сделать?
Спасибо.
...
Рейтинг: 0 / 0
26.02.2004, 17:31
    #32423113
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Смотря какой сервер у тебя. В Yaffil есть IIF, в FB1.5 - COALESCE, а в IB нефига нету :-) Говорят что в FB1.5 для поддержки IIF надо разкомментировать две строчки. Не понимаю почему они этого не сделали до сих пор...

Тебе как вариант, работающий везде и всюду, советую сделать так:

select date_z,sum(sum_all) as sum1, sum(-sum_all*(inet-1)) as sum2 from view1 group by date_z, inet
...
Рейтинг: 0 / 0
26.02.2004, 17:47
    #32423154
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Ой, забыл сказать. Конечно же IB ;-)
Спасибо, попробую...
...
Рейтинг: 0 / 0
02.03.2004, 17:23
    #32428361
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Gold, спасибо!
А если теперь мне надо посчитать кол-во по полю inet=0 и inet-1
Как это сделать одним запросом и в результате иметь три поля: дата, кол-во1, кол-во2
...
Рейтинг: 0 / 0
02.03.2004, 17:35
    #32428398
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Ты что, издеваешься?
...
Рейтинг: 0 / 0
04.03.2004, 15:42
    #32431465
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Вообще-то нет. ;-) Но вот так бывает от незнания ;-(
молчу-молчу.
...
Рейтинг: 0 / 0
04.03.2004, 16:05
    #32431509
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
А что, ты имея 0 и 1 не можешь получить коэффициенты для умножения? Это же арифметика элементарная...
...
Рейтинг: 0 / 0
04.03.2004, 17:04
    #32431610
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Дело в том, что до этого считал сумму (sum), а теперь количество. А count считает как 0, так и 1. Придется делать ХП.
...
Рейтинг: 0 / 0
04.03.2004, 18:41
    #32431803
Gold
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
А просуммировать единицы - это тебе не то же самое?

select date_z,sum(inet) as sum1,-sum(inet-1) as sum0 from view1 group by date_z, inet
...
Рейтинг: 0 / 0
05.03.2004, 09:01
    #32432078
Leshgan
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите с запросом. Группировка
Спасибо, не додумался ;-(
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Помогите с запросом. Группировка / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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