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

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

отсортировать набор данных по неделям


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


Наверх

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