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

Откуда:
Сообщений: 22
необходимо внутри одной группировки сделать другую группировку. Например, внутри select max(col1),col2
from table1
group by col2
сделать слудующую выборку:
select count(col3)
from table1
group by col3

Как сделать объединенный запрос?
28 янв 03, 10:26    [115941]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Savik
Member

Откуда:
Сообщений: 6196
Непонятно, что вообще нужно сделать, ведь в первом запросе НЕТ col3 ?
28 янв 03, 10:36    [115950]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
victoria
Member

Откуда:
Сообщений: 22
таблица -то одна
select max(col1),--здесь дб группировка по col2
count(col3) --а здесь по col3
from table1
28 янв 03, 10:42    [115957]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
select col2, col3, max(col1), count(col3) from table1 group by col2, col3 with rollup
28 янв 03, 10:43    [115960]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
victoria
Member

Откуда:
Сообщений: 22
select col2, col3, max(col1), count(col3) from table1 group by col2, col3 with rollup
-выдаются неверные значения
28 янв 03, 11:06    [116008]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
Выдаются верные значения:
select CustomerID, EmployeeID, max(OrderDate), count(EmployeeID) from Orders group by CustomerID, EmployeeID with rollup
28 янв 03, 11:11    [116017]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Savik
Member

Откуда:
Сообщений: 6196
Возможно мы чего-то недопонимаем в самой задаче, но две РАЗДЕЛЬНЫХ группировки в одном запросе - ???
28 янв 03, 11:20    [116030]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
victoria
Member

Откуда:
Сообщений: 22
группировка по EmployeeID дб внутри группировке по CustomerID

внутри
max(col1),col2
from table1
group by col2
сделать следующую выборку:
select count(col3)
from table1
group by col3
На выходе нужны max(col1),count(col3)
Таблица
col1 col2 col3
2 1 2
4 1 4
0 2 1
5 2 2
5 3 2
нужно:
4 1
5 2
28 янв 03, 11:24    [116034]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Savik
Member

Откуда:
Сообщений: 6196
Всё равно не въехал
1. max(col1) - единственное значение, а у тебя 2
2. куда делись 0 и 2 из col1 ?
28 янв 03, 11:47    [116068]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Дед Маздай
Member

Откуда:
Сообщений: 655
Аналогично. Ну, допустим, так:
select col1, count(col2) from (select max(col1) as col1, col2 as col2 from #t group by col2) as t group by col1
но все равно при чем здесь col3?
28 янв 03, 12:04    [116091]     Ответить | Цитировать Сообщить модератору
 Re: встроенные группировки  [new]
Savik
Member

Откуда:
Сообщений: 6196
Вроде понял по тексту, но почему в первой строчке результата 4 1, а не 4 2, и где 5 1 для col2=3?

А если что-то типа такого:
select max(table.col1),max(b.c_c3)

from table inner join
(select col2,count(col3) c_c3 from table group by col2) b
on b.col2=table.col2
group by table.col2
28 янв 03, 12:09    [116094]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить