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

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

Подредактируйте запрос [D7, Paradox]


так себе ©   (2006-09-10 20:03:00) 

Query1.Close;
 Query1.SQL.Clear;
 Query1.SQL.Add('SELECT DataDog, COUNT(DataDog)');
 Query1.SQL.Add('FROM OsnTabl');
 Query1.SQL.Add('WHERE DataDog >= ''' + Form36.DateEdit1.Text +'''');
 Query1.SQL.Add('AND DataDog <= ''' + Form36.DateEdit2.Text +'''');
 Query1.SQL.Add('GROUP BY DataDog');
 Query1.Open;

В результате получаю:
DataDog             COUNT
2.08.06                   1
5.08.06                   3
1.09.06                   2
и т.д.
а как получить
DataDog             COUNT
август 2006             4
сентябрь 2006          2
Заранее спасибо.


ЮЮ   (2006-09-11 09:48:00) [1]

SELECT
 EXTRACT(YEAR FROM DataDog) AS YY,
 EXTRACT(MONTH FROM DataDog) AS MM,
 COUNT(DataDog) AS CNT
...
[1]
GROUP BY EXTRACT(YEAR FROM DataDog), EXTRACT(MONTH FROM DataDog)
[2]
GROUP BY 1, 2

Т.к. в LocalSQL ни [1] ни [2] не поддерживается, то см. Local View, т.е. сначала сохранить сформированный запрос в текстовый файл, а затем уже группировать


Наверх

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