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

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

Group by + Order by : как сделать, чтобы итоги по группировкам находились внизу? [MSSQL]


boogier ©   (2002-03-27 11:06:00) 

Когда делаю запрос с использованием
group by ... with rollup
а потом сортировку
order by ...
все сгруппированные поля (содержащие null) всплывают наверх.
Как сделать, чтобы они "тонули", то есть чтоб итоги по группировкам находились внизу?


asafr   (2002-03-27 13:10:00) [1]

В МSSQL есть такой хорошая команда COMPUTE, которая применяет к выбранным столбцам функции агрегирования и результат выводится в отдельной строке после выборки.
Синтаксис:
COMPUTE
{AVG|COUNT|MAX|MIN|STDEV|STDEVP|VAR|VARP|SUM}
(expression) [,...n]
[BY expression [,...n]]


А на примере это примерно так:
SELECT title_id, price From Table1
WHERE (type="business")
COMPUTE SUM(price), COUNT(price)


Результат выборки будет выглядеть так:
title_id price
-------- --------
Value1 10.12
Value2 11.21
Value3 14.00
sum
========
35.33
cnt
========
3


wicked   (2002-03-27 12:30:00) [2]

тогда выбирай отдельными запросами...


fnatali   (2002-03-27 12:27:00) [3]

использовать union - первый select без null значений, второй - с null значениями. Недостаток - дольше будет выполняться запрос


boogier   (2002-03-27 12:05:00) [4]

но тогда и все остальные величины будут desc !!!!
а так как раз не надо


Nikolay M.   (2002-03-27 11:48:00) [5]

order by ... desc?


Наверх

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