Форум: "Базы";
Текущий архив: 2003.06.09;
Скачать: [xml.tar.bz2];
ВнизКак сгрупировать в запросе по полю с функцией Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.009 c