Вниз
Скачать: 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.014 c
1-8370
wnew
2003-10-23 03:38
2003.11.03
Перерисовка TButton


1-8483
dolphin1
2003-10-24 01:12
2003.11.03
Process


4-8743
andre
2003-08-29 03:21
2003.11.03
А втозагрузка


7-8705
OlegV
2003-08-25 15:18
2003.11.03
Копирование файлов


4-8721
Bes
2003-08-29 03:37
2003.11.03
Убрать подвисание..




   Наверх