![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
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?