Главная страница
    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.009 c
1-26445
Darrin
2003-05-27 13:24
2003.06.09
Как проверить что файл записан на диск, а не висит в кэше?


1-26565
BJValentine
2003-05-26 15:45
2003.06.09
TStringGrid


1-26520
Project111
2003-05-27 17:19
2003.06.09
Создать документ Word


14-26703
Caesar
2003-05-21 16:30
2003.06.09
Отчет без принтера


1-26553
McSimm2
2003-05-28 11:47
2003.06.09
stringgrid selection





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский