Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Помощь в составлении запроса.  [new]
gozip
Member

Откуда:
Сообщений: 10
Здравствуйте, уважаемые форучане. Нужна Ваша помощь в составлении запроса, ибо у меня самого чего-то не выходит(лишь недавно изучаю SQL)
Вводная - есть таблица(учет заявок) такого вида

ID     Submitdate                 Updatetime             Hours(время, затраченное
                                                                             на разрешение заявки, час)
1      02-Oct-2009 06:15:33  02-Oct-2009 07:11:28                        0
2      02-Oct-2009 06:16:50  02-Oct-2009 06:16:49                        0
3      02-Oct-2009 17:10:50  02-Oct-2009 19:10:50                        2
4      03-Oct-2009 08:43:52  03-Oct-2009 13:42:03                        4
5      04-Oct-2009 09:29:18  05-Oct-2009 15:01:32                       29
6      04-Oct-2009 14:05:12  05-Oct-2009 17:44:52                       27
...

Нужно создать запрос, при котором результат бы выходил в таком виде

Дата                Общее кол-во    Кол-во записей     Кол-во записей             Кол-во записей
(submitedate)   заявок по дате     если Hours <1      если Hours от 1 до 24    если Hours от 24 до 48

02-Oct-2009           3                         2                            1                                  0
03-Oct-2009           1                         0                            1                                  0
04-Oct-2009           2                         0                            0                                  2

Как составить запрос?
Очень нужно.
Заранее благодарю!
С уважением.
8 окт 09, 17:35    [7760642]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса.  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74927
SELECT
  DATEADD(dd, DATEDIFF(dd, 0, Submitdate), 0) AS Submitdate,
  COUNT(*) AS TotalCount,
  SUM(CASE WHEN Hours < 1 THEN 1 END) AS Count1,
  SUM(CASE WHEN Hours BETWEEN 1 AND 24 THEN 1 END) AS Count24,
  SUM(CASE WHEN Hours BETWEEN 25 AND 48 THEN 1 END) AS Count48
FROM
  SomeTable
GROUP BY 
  DATEADD(dd, DATEDIFF(dd, 0, Submitdate), 0)
ORDER BY 1
8 окт 09, 17:47    [7760738]     Ответить | Цитировать Сообщить модератору
 Re: Помощь в составлении запроса.  [new]
gozip
Member

Откуда:
Сообщений: 10
Огромное спасибо! Все работает!
9 окт 09, 08:37    [7762263]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить