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

Помогите пожалуйста доработать групповой запрос.

Имеется исходный набор данных:
WITH t
AS
(
  SELECT 10 AS time, 3 AS some_value FROM DUAL UNION ALL
  SELECT 10 AS time, 2 AS some_value FROM DUAL UNION ALL
  SELECT 10 AS time, 5 AS some_value FROM DUAL UNION ALL
  SELECT 11 AS time, 7 AS some_value FROM DUAL UNION ALL
  SELECT 11 AS time, 1 AS some_value FROM DUAL UNION ALL
  SELECT 12 AS time, 4 AS some_value FROM DUAL UNION ALL
  SELECT 13 AS time, 6 AS some_value FROM DUAL UNION ALL
  SELECT 14 AS time, 3 AS some_value FROM DUAL
)
SELECT t.*
FROM t
ORDER BY t.time ASC;

Результат:
TIMESOME_VALUE
103
102
105
117
111
124
136
143


Теперь составляем из исходного набора данных групповой запрос. Т.е. группируем по полю "TIME" и подсчитываем количество записей в каждой группе:
WITH t
AS
(
  SELECT 10 AS time, 3 AS some_value FROM DUAL UNION ALL
  SELECT 10 AS time, 2 AS some_value FROM DUAL UNION ALL
  SELECT 10 AS time, 5 AS some_value FROM DUAL UNION ALL
  SELECT 11 AS time, 7 AS some_value FROM DUAL UNION ALL
  SELECT 11 AS time, 1 AS some_value FROM DUAL UNION ALL
  SELECT 12 AS time, 4 AS some_value FROM DUAL UNION ALL
  SELECT 13 AS time, 6 AS some_value FROM DUAL UNION ALL
  SELECT 14 AS time, 3 AS some_value FROM DUAL
)
SELECT t.time,
       COUNT (*) AS cnt
FROM t
GROUP BY t.time
ORDER BY t.time ASC;

Результат:
TIMECNT
103
112
121
131
141


А теперь, внимание, вопрос: Каким образом можно доработать имеющийся групповой запрос, чтоб наряду с количеством записей в каждой группе подсчитывалось общее количество записей в выборкке? Т.е. результат должен быть таким:
TIMECNTCNT_ALL
1038
1128
1218
1318
1418


Заранее благодарю за помощь.
3 май 13, 09:16    [14255393]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста доработать групповой запрос  [new]
xtender
Member

Откуда: Мск
Сообщений: 5704
Ora_beginer,

Sum(count(*)) over()
3 май 13, 09:21    [14255397]     Ответить | Цитировать Сообщить модератору
 Re: Помогите пожалуйста доработать групповой запрос  [new]
Ora_beginer
Guest
Благодарю!
4 май 13, 06:20    [14257378]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить