0

我想使用诸如 max、min、avg 之类的聚合函数创建我的表的摘要查询是这样的

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]
}
4

3 回答 3

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
于 2013-10-01T09:42:33.427 回答
1

您可以将所有内容放在一个 select 语句中

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
于 2013-10-01T09:42:50.337 回答
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
于 2013-10-01T10:38:48.433 回答