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

Откуда:
Сообщений: 34
Вообщем дело такое... В запросе подсчитывается count' ом количество домов в районе. Как в следующем столбце вывести сумму домов в городе (по всем районам)
8 июл 13, 14:26    [14536041]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SS13SS13,

Если SQL 2005 или новее, то можно COUNT(*)OVER()
8 июл 13, 14:29    [14536069]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Или по-старинке - запрос для каждого района сделать производной таблицей
для запроса, суммирующего ещё и все количества в общую сумму.
8 июл 13, 14:31    [14536084]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
_djХомяГ
Guest
1 select <поля> from (select fro)
2 count с over

а вообще многое зависит от версии сервака и самого запроса
8 июл 13, 14:31    [14536089]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
select d.fullname as district, a.name as area, COUNT(ad.housenumber) as 'Кол-во домов в районе',
sum( ???) as 'Кол-во домов в округе'
from ADDRESS ad full join AREA a on ad.AREAID=a.ID full join DISTRICT d on a.DISTRICTID=d.ID
group by d.FULLNAME, a.NAME order by d.fullname, a.name;
8 июл 13, 14:38    [14536143]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
ms sql server 2008
8 июл 13, 14:40    [14536152]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
SS13SS13,

а зачем везде FULL JOIN?
8 июл 13, 14:41    [14536171]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Чтобы отображались и строки с нулевыми значениями
8 июл 13, 14:43    [14536194]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
Konst_One
Member

Откуда:
Сообщений: 11621
для начала было бы неплохо увидеть структуру всех таблиц, участвующих в этом
8 июл 13, 14:45    [14536207]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
Бывают районы без округов?
Бывают округа, не входящие в район?
Бывают районы без домов?
И дома, ни к чему не относящиеся?
8 июл 13, 14:45    [14536209]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
чисто синтаксически - sum(COUNT(ad.housenumber))over() as 'Кол-во домов в округе'
8 июл 13, 14:46    [14536219]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
_djХомяГ
Guest
iap
И дома, ни к чему не относящиеся?

Готов занести такой дом в свой актив
8 июл 13, 14:46    [14536225]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Да районы без домов
8 июл 13, 14:46    [14536227]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Cygapb-007
чисто синтаксически - sum(COUNT(ad.housenumber))over() as 'Кол-во домов в округе'

Выводит сумму по всем округам во свех строках
8 июл 13, 14:56    [14536316]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
SS13SS13
Cygapb-007
чисто синтаксически - sum(COUNT(ad.housenumber))over() as 'Кол-во домов в округе'

Выводит сумму по всем округам во свех строках
тогда вместо over() надо писать over(partition by <поле с кодом района>)
8 июл 13, 15:00    [14536345]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
Cygapb-007
Member

Откуда:
Сообщений: 1677
Хотя, с учетом
SS13SS13
В запросе подсчитывается count' ом количество домов в районе. Как в следующем столбце вывести сумму домов в городе (по всем районам)
считает именно то, что требовалось
8 июл 13, 15:02    [14536369]     Ответить | Цитировать Сообщить модератору
 Re: Помогите в запросе посчитать сумму от count  [new]
SS13SS13
Member

Откуда:
Сообщений: 34
Спасибо получилось
8 июл 13, 15:05    [14536387]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить