Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

group by [D6, dBase, FoxPro]


rosl ©   (2003-10-12 11:16:00) 

народ
такой вопрос
нужно сгруппировать данные по месяцам
a b
10 10.01.2003
20 11.01.2003
10 10.02.2003
5 01.03.2003

что-то типа
select sum(a), b
from bd\main.dbf
group by b

чтоб получилось (что-то в этом роде)
30 ##.01.2003
10 ##.02.2003
5 ##.03.2003


Dionys   (2003-10-13 16:30:00) [1]

> Johnmen © (13.10.03 09:43) [4]

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


Johnmen   (2003-10-13 09:43:00) [2]

>Dionys © (12.10.03 12:21)

Ты хочешь сказать, что этот запрос работает ???


Dionys   (2003-10-12 12:21:00) [3]

SELECT SUM(a), SUBSTRING(b FROM 4 FOR 7) AS c
FROM "bd\main.dbf"
GROUP BY c


Nikolay M.   (2003-10-12 12:18:00) [4]

В фоксе есть функции для извлечения месяца/года? Если да, тогда можно попробовать так
SELECT SUM(a), CASE(ExtractMonth(b) AS VARCHAR(2)) + "." + CASE(ExtractYEAR(b) AS VARCHAR(4))
FROM table_name
GROUP BY CASE(ExtractMonth(b) AS VARCHAR(2)) + "." + CASE(ExtractYEAR(b) AS VARCHAR(4))


Александр Иванов   (2003-10-12 12:12:00) [5]

Скорее всего придется хранить для группировки отдельно номер дня, номер месяца и номер года, тогда будет намного проще группировать по месяцу, году.


Наверх

Титульная страница Поиск, карта сайта Написать письмо