Вниз
Скачать: 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.46 MB
Время: 0.022 c
14-8601
MeF88
2003-10-15 11:47
2003.11.03
Самоубийство


1-8340
Nikolas
2003-10-24 21:17
2003.11.03
Из String в PChar


9-8245
greenrul
2003-04-27 11:46
2003.11.03
Изометрия: пара вопросов


1-8350
GreySerg
2003-10-22 16:40
2003.11.03
Как определить запущено ли уже какое-то приложение или нет ?


6-8563
Filat
2003-09-04 16:38
2003.11.03
Как сделать send message конкретному юзеру или всей лок. сети?




   Наверх