Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.06.09;
Скачать: CL | DM;

Вниз

Как сгрупировать в запросе по полю с функцией   Найти похожие ветки 

 
Mic_2000 ©   (2003-05-19 16:49) [0]

Есть примерно такой запрос:

select NOM, div(CKFK,10000)*10000 AS CKFK from TABLE
group by CKFK


Вообщем неполучается сгрупировать, можно ли как то это сделать без промежуточной таблицы


 
Stas ©   (2003-05-19 16:56) [1]

Что такое NOM ?


 
Danilka ©   (2003-05-19 16:59) [2]

1.
а что такое NOM?
может надо sum(NOM) или добавить его в уровень группировки?

2.
незнаю, в интербейзе можно делать так:
select sum(NOM), CKFK
from (select NOM, div(CKFK,10000)*10000 AS CKFK from TABLE)
group by CKFK

правда, на большом обьеме данных тормоза будут


 
Rad ©   (2003-05-19 17:17) [3]

GROUP BY 1


 
Johnmen ©   (2003-05-19 17:42) [4]

>Mic_2000 © (19.05.03 16:49)

Нет,

>Danilka © (19.05.03 16:59)

Нет,

>Rad © (19.05.03 17:17)

И нет !

Группировать можно только по реальным полям, причем все поля, не входящие в агрегатные ф-ии должны быть в группировке.




 
Соловьев ©   (2003-05-19 17:58) [5]

попробовать вычислять ХП, а потом групировать...


 
Rad ©   (2003-05-19 21:51) [6]

2 Johnmen © (19.05.03 17:42)
М-да, переклинило что-то меня.
Просто так можно сортировать (удобно при каких-то вычислениях в списке выбираемых полей - as иногда не помогает [-л?]); а по поводу хитрой группировки какой-то подобный финт ВРОДЕ КАК был.


 
Johnmen ©   (2003-05-19 22:37) [7]

>Rad © (19.05.03 21:51)

>...какой-то подобный финт ВРОДЕ КАК был.

Но только не в IB6...:) И не в стандарте SQL92.


 
Danilka ©   (2003-05-20 07:49) [8]

Johnmen © (19.05.03 17:42)
только что проверил в орокле:

SELECT round(balance_account,-2)||round(balance_account,-3), count(*)
FROM accounts_card
GROUP BY round(balance_account,-2)||round(balance_account,-3)

и вот-так:

SELECT xxx, sum(balance_account)
FROM (SELECT round(balance_account,-2)||round(balance_account,-3) xxx, balance_account FROM accounts_card)
GROUP BY xxx

все пашет без вопросов. если в интербезе можно группировать только по реальным полям, то это, конечно, проблемы интербейза.


 
Zacho ©   (2003-05-20 08:16) [9]

В IB - нельзя. Можно в Yaffil и, если не ошибаюсь, в FB.
Если нет желания перейти на Ya или FB, то стандартное решение - создать вычислимое поле (COMPUTED BY или заполняемое триггерами) и группировать по нему.


 
Johnmen ©   (2003-05-20 09:18) [10]

>Danilka © (20.05.03 07:49)
>если в интербезе можно группировать только по реальным полям,
>то это, конечно, проблемы интербейза.

Нет. Это проблемы "орокле" :)
Как сервера, ушедшего сильно в сторону в своем диалекте от SQL92. (Хорошо это или плохо, обсуждать не будем...:))

>Zacho © (20.05.03 08:16)
>...если не ошибаюсь, в FB.

Нет. По крайней мере в 1.0 нельзя...



Страницы: 1 вся ветка

Текущий архив: 2003.06.09;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.029 c
14-26761
Knight
2003-05-22 22:34
2003.06.09
Сканирование портов...


14-26743
Сюткин Павел
2003-05-22 14:43
2003.06.09
Private свойство


3-26332
ArtemB
2003-05-20 08:33
2003.06.09
Exclusiv


3-26367
Sunny
2003-05-21 08:01
2003.06.09
Отсутствует уникальный ключ


1-26515
DimonA
2003-05-30 10:37
2003.06.09
RichEdit