Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Вниз

SQL-запрос. Неужели придется прогу писать?   Найти похожие ветки 

 
Grrey   (2002-03-20 23:17) [0]

Задача:
Есть таблица с полями:
Date_Time Date,
Counter number
Нужно представить информацию по месяцам. Т.е.
Месяц - Число (Sum(Counter))
Пробовал так:
SELECT UDFSUB_STR(DATE_TIME,3,11), SUM(COUNTER) FROM TEMP_TAB GROUP BY DATE_TIME;
Там просто дата если начинаеться с чисел (день) < 10, то SUB_STR нужно использовать с другими параметрами. Неужели никак нельзя запросами ограничиться?
Может кто поможет?


 
kaif   (2002-03-20 23:49) [1]

Создай таблицу YEAR_DATES с полями:
THE_MONTH INTEGER
THE_DAY INTEGER
THE_YEAR INTEGER
THE_DATE DATE
Не забудь индексы тоже.
Заполни ее соответствующими значениями на 10 лет (это всего 3650 записей), объединяй со своей таблицей в запросе типа
SELECT THE_MONTH, THE_DAY, SUM(Counter)
FROM YEAR_DATES, MYTABLE
WHERE YEAR_DATES.DATE_TIME = MYTABLE.DATE_TIME
GROUP BY THE_MONTH, THE_DAY
Все это работает очень быстро.
В IB6.0 можно лучшее решение придумать (хранимую процедуру, генерящую такой набор).


 
Фэ   (2002-03-21 01:23) [2]

Кстати, если добавить поля ПОЛУГОДИЕ, КВАРТАЛ, НЕДЕЛЯ, РАБОЧИЙ ДЕНЬ, и т.п. намного жизнь облегчается по выборке за нужный интервал


 
grrey   (2002-03-21 11:11) [3]

Cпасибо!


 
Lusha   (2002-03-21 12:33) [4]

А что в Interbase нет функции преобразования даты в строку необходимого формата? Неужели обязательно нужно "левую" таблицу заводить :(


 
Fay   (2002-03-22 01:39) [5]

Напиши UDF и всё.


 
DiggerAbstract   (2002-03-22 04:29) [6]

SELECT
MONTH(DATE_TIME),
DAY(DATE_TIME),
SUM(COUNTER)
FROM
TEMP_TAB
GROUP BY 1, 2


 
grrey   (2002-03-22 08:42) [7]

To Fay> Легче процедурку написать. Я уже все сделал, в принципе, конечно не сам!
To DiggerAbstract> А функции Month, Day, Sum я как понял всеже писать придеться! И они будут очень медленно работать!
Но все равно спасибо!


 
Fay   (2002-03-22 12:44) [8]

А напиши их так, чтоб работали побыстрее!
Как мысля?



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

Форум: "Базы";
Текущий архив: 2002.04.11;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.45 MB
Время: 0.039 c
1-32765
Hammer
2002-03-28 16:47
2002.04.11
Убрать SysTray


14-32952
ShaggyDoc
2002-03-01 11:07
2002.04.11
www.delphipages.com - это не вымысел?


14-32983
Dimich
2002-02-28 12:00
2002.04.11
Где можно взять драйвер для Mustek 12000sp+ под Win XP


14-32948
Pete
2002-03-04 09:33
2002.04.11
New Component...


6-32911
Delphimun
2002-01-17 17:07
2002.04.11
Как мне модофицировать файл, который находится на интернет сервере?





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