2013-10-01 2 views
0

Я хочу создать резюме моей таблицы с aggragate функциями, такими как макс, мин, средний Запрос что-то вроде этогокак вычислить несколько агрегатов на несколько столбцов

select 'avg',avg(column1) as 'avg_resp',avg(col2) as 'ncount' from table 
union all 
select 'max',max(column1),max(col2) from table 
union all 
select 'min',min(column1),min(col2) from table; 

Можно ли это сделать в лучшую сторону ??
PS: Я хочу использовать его для REST API, поэтому я стараюсь не переставлять/удлинять конечный результат.

REST модель API от моего текущего кода:

{ 
avg_resp:[min,max,avg], 
ncount: [min,max,avg] 
} 
+0

У этого нет лучшего ответа, а затем предложено в вопросе – Gaurav

ответ

0

да это возможно

select avg(column1) as avg_resp, 
    avg(col2) as ncount, 
    max(column1) as max_col1, 
    max(col2) as max_col2, 
    min(column1) as min_col1, 
    min(col2) as min_col2 
    from table 
1

Почему нет:

select 
    avg(column1) as 'avg_resp', 
    avg(col2) as 'ncount', 
    max(column1) AS Max1, 
    max(col2) AS MAx2, 
    min(column1) AS Min1, 
    min(col2) AS Min2 
from table 
1

Вы можете поместить все в одном отборного заявления

select avg(column1) as avg_resp, 
     avg(col2) as ncount, 
     max(column1) as max_col1, 
     max(col2) as max_col2, 
     min(column1) as min_col1, 
     min(col2) as min_col2 
from your_table 
+0

Извините, веб-дизайн был путаным, поэтому он изменил его с помощью REST API – Gaurav

Смежные вопросы