![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
отсортировать набор данных по неделям
ekto © (2008-11-25 18:46:00)Всем привет!
есть запрос:
SELECT aaa, CAST(DATEPART(ww, date_) + '.' + DATEPART(yy, date_) AS CHAR(7))
FROM table
GROUP BY DATEPART(ww, date_) + '.' + DATEPART(yy, date_)
ORDER BY DATEPART(ww, date_) + '.' + DATEPART(yy, date_)
ну и получается, что десятая неделя идет вперед второй. Если написать:
ORDER BY DATEPART(yy, date_), DATEPART(ww, date_)
, то ругается на отсутствие столбца date_ в предложении GROUP BY. Вопрос: как отсортировать данный запрос по неделям года?
СУБД MS SQL Server 2005.
ekto (2008-11-25 19:15:00) [1]
> ekto © (25.11.08 19:10) [4]
кажись прогнал... ну скажите кто-нибудь, что прогнал!
ekto (2008-11-25 19:10:00) [2]
> Palladin © (25.11.08 19:01) [3]
да, спасибо, так работает...
сам тоже об этом думал, смущает лишь следующее: не будет ли группироваться отдельно по неделям? Мне же не нужны сгруппированные недели за 2005-2008 гг. Как с этим?
Palladin (2008-11-25 19:01:00) [3]или чуть полегше, без конкатенаций
SELECT aaa, CAST(DATEPART(ww, date_) + '.' + DATEPART(yy, date_) AS CHAR(7))
FROM table
GROUP BY
DATEPART(yy, date_),
DATEPART(ww, date_),
CAST(DATEPART(ww, date_) + '.' + DATEPART(yy, date_) AS
ORDER BY DATEPART(yy, date_),
DATEPART(ww, date_)
Palladin (2008-11-25 18:53:00) [4]млин... стоп... гоню...
SELECT aaa, CAST(DATEPART(ww, date_) + '.' + DATEPART(yy, date_) AS CHAR(7))
FROM table
GROUP BY
DATEPART(yy, date_)+'.'+DATEPART(ww, date_),
DATEPART(ww, date_) + '.' + DATEPART(yy, date_)
ORDER BY DATEPART(yy, date_)+'.'+DATEPART(ww, date_)
так работает?
Palladin (2008-11-25 18:49:00) [5]
> AS CHAR(7))
почему AS CHAR ? as int