![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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]
Скорее всего придется хранить для группировки отдельно номер дня, номер месяца и номер года, тогда будет намного проще группировать по месяцу, году.