Как красивее сгруппировать по дате?

mod
Дата: 28.01.2009 12:46:06
Запрос:
SELECT p.price, c.bDate, c.eDate, count(customerId) FROM PRICES p
INNER JOIN CUSTOMERS  c on p.customerId = c.customerId
GROUP BY p.price, c.bDate, c.eDate
В результате проблема с группировкoй, т.к. даты имеют часы и минуты, а надо по дням...
В итоге сделал:
SELECT sq.price, sq.bDate, sq.eDate (SELECT p.price, cast(c.bDate,102) as bDate, cast(c.eDate,102) as eDate, count(customerId) FROM PRICES p
INNER JOIN CUSTOMERS  c on p.customerId = c.customerId) sq
GROUP BY sq.price, sq.bDate, sq.eDate
Но не радует... Как-то можно сделать красивее?
Паганель
Дата: 28.01.2009 12:48:05
mod
В результате проблема с группировкoй, т.к. даты имеют часы и минуты, а надо по дням...
Отрезать время от даты и дату от даты-времени. Округлить дату
Это?
mod
Дата: 28.01.2009 12:48:17
Сорри...
SELECT sq.price, sq.bDate, sq.eDate, count(*)  FROM (SELECT p.price, cast(c.bDate,102) as bDate, cast(c.eDate,102) as eDate FROM PRICES p
INNER JOIN CUSTOMERS  c on p.customerId = c.customerId) sq
GROUP BY sq.price, sq.bDate, sq.eDate
mod
Дата: 28.01.2009 12:49:28
ну cast или convert не суть... Я не о том...
Паганель
Дата: 28.01.2009 12:53:27
Приведите, пожалуйста, пример тестовых данных и желаемого результата
vino
Дата: 28.01.2009 12:53:45
mod, попробуй вместо cast(c.bDate,102) делать FLOUR(c.bDate)
iap
Дата: 28.01.2009 12:55:52
mod
ну cast или convert не суть... Я не о том...
А о чём?
Переходите на SQL2008 - там тип DATE есть, без времени.
А по-старинке придётся так:
SELECT p.price, CONVERT(CHAR(10),c.bDate,104) bDate, CONVERT(CHAR(10),c.eDate,104) eDate, count(customerId)
FROM PRICES p JOIN CUSTOMERS  c on p.customerId = c.customerId
GROUP BY p.price, CONVERT(CHAR(10),c.bDate,104), CONVERT(CHAR(10),c.eDate,104);
mod
Дата: 28.01.2009 12:57:20
vino, весело...
mod
Дата: 28.01.2009 12:58:48
iap,

Да, так и делал вначале... Ладно, оставлю так. Спасибо!
Паганель
Дата: 28.01.2009 13:00:42
mod
Как-то можно сделать красивее?
Если такое нужно делать часто, я бы подумал над созданием вычислимых полей