Как выбрать первые числа из интерваля дат?

kaunenko
Дата: 13.02.2010 21:34:24
Добрый день.
Помогите необходимо написать запрос для выборки певых чисел каждого месяца из интервала дат.
В таблице к примеру второй месяц может начинатся с 3 числа тоесть необходимо извлеч минимальную существующую дату в каждом месяце.
Например:
SELECT data
WHERE data BETWEEN '2009-01-07' AND '2009-04-21' ;


В результате необходимо получить
2009-01-07
2009-02-03
2009-03-01
2009-04-01
Критик
Дата: 13.02.2010 22:14:33
выделить пару "год-месяц" и сделать min(дата)
iljy
Дата: 13.02.2010 23:34:31
kaunenko,

SELECT DATEADD(month, datediff(month, 0, data), 0) + MIN(day(data)) - 1
from Tab
WHERE data BETWEEN '2009-01-07' AND '2009-04-21'
group by DATEADD(month, datediff(month, 0, data), 0) ;
Критик
Дата: 14.02.2010 00:10:42
или так
SELECT MIN(data)
from Tab
WHERE data BETWEEN '20090107' AND '20090421'
group by DATEADD(month, datediff(month, 0, data), 0) 
iljy
Дата: 14.02.2010 00:40:14
Критик,

точно чего-то меня клинит, масленица как-никак
kaunenko
Дата: 15.02.2010 21:19:00
Спасибо большое все получилось.