Вниз
Скачать: CL | DM;

group by   Найти похожие ветки 

 
rosl   (2003-10-12 11:16) [0]

народ
такой вопрос
нужно сгруппировать данные по месяцам
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


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

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


 
Nikolay M. ©   (2003-10-12 12:18) [2]

В фоксе есть функции для извлечения месяца/года? Если да, тогда можно попробовать так
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))


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

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


 
Johnmen ©   (2003-10-13 09:43) [4]

>Dionys © (12.10.03 12:21)

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


 
Dionys ©   (2003-10-13 16:30) [5]

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

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



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

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.022 c
1-8541
Романов Р.В.
2003-10-22 10:30
2003.11.03
SelectDirectory with Create


1-8387
wildbird
2003-10-22 06:16
2003.11.03
запуск с параметром


3-8254
Fakir
2003-10-14 16:57
2003.11.03
Несооброжу с добавлением в БД


9-8249
MeF88
2003-04-03 11:19
2003.11.03
GLScene+OpenGL


14-8598
Карелин Артем
2003-10-15 10:16
2003.11.03
Без темы.




   Наверх