Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.008 c
1-26495
UnDISCOvery
2003-05-29 18:22
2003.06.09
TChart. Очень медленно !!! Почему ?


14-26762
KA-87
2003-05-22 22:12
2003.06.09
А сколько программеры зарабатывают?


3-26387
bobr12
2003-05-21 13:37
2003.06.09
Как в DBGrid.Options в программе установить dgMultiSelect в True?


3-26342
jack100
2003-05-19 10:42
2003.06.09
У кого есть опыт работы с ExpressQuantumGrid?


14-26737
neuro
2003-05-22 17:52
2003.06.09
STL 4 delphi





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский