Sql 将多个聚合函数输出为行而不是列

Sql 将多个聚合函数输出为行而不是列,sql,sql-server,sql-server-2012,Sql,Sql Server,Sql Server 2012,我对SQL和聚合函数比较陌生 我有这个查询,我只想要每个月的最大值 SELECT max(case when LogDate < '2016-06-01' and LogDate >= '2016-05-01' THEN value end), max(case when LogDate < '2016-07-01' and LogDate >= '2016-06-01' THEN value end), max(case when LogDa

我对SQL和聚合函数比较陌生

我有这个查询,我只想要每个月的最大值

SELECT max(case when LogDate < '2016-06-01' and LogDate >= '2016-05-01' THEN value end),
       max(case when LogDate < '2016-07-01' and LogDate >= '2016-06-01' THEN value end),
       max(case when LogDate < '2016-08-01' and LogDate >= '2016-07-01' THEN value end) 
FROM RawData
选择最大值(当LogDate<'2016-06-01'和LogDate>='2016-05-01'时,则为值结束),
最大值(当日志日期<'2016-07-01'和日志日期>='2016-06-01'时,则值结束),
最大值(当日志日期<'2016-08-01'和日志日期>='2016-07-01'时,则值结束)
从原始数据
它可以工作,但是每个月的输出都放在单独的列中,有没有办法让输出变成同一列中的行

我正在使用SQL server 2012

这非常简单

“自然”输出以行为单位。您问题中的代码是在列之间旋转它

SELECT YEAR(LogDate) AS Year,
       MONTH(LogDate) AS Month,
       MAX(value) AS MaxValue
FROM RawData
WHERE LogDate >= '2016-05-01' AND LogDate < '2016-08-01'
GROUP BY YEAR(LogDate), 
         MONTH(LogDate)
选择年份(LogDate)作为年份,
月份(日志日期)作为月份,
最大(值)作为最大值
从原始数据
其中LogDate>='2016-05-01'和LogDate<'2016-08-01'
按年份分组(日志日期),
月份(日志日期)
这很简单

“自然”输出以行为单位。您问题中的代码是在列之间旋转它

SELECT YEAR(LogDate) AS Year,
       MONTH(LogDate) AS Month,
       MAX(value) AS MaxValue
FROM RawData
WHERE LogDate >= '2016-05-01' AND LogDate < '2016-08-01'
GROUP BY YEAR(LogDate), 
         MONTH(LogDate)
选择年份(LogDate)作为年份,
月份(日志日期)作为月份,
最大(值)作为最大值
从原始数据
其中LogDate>='2016-05-01'和LogDate<'2016-08-01'
按年份分组(日志日期),
月份(日志日期)

不知道月份和年份函数,谢谢!不知道月份和年份的功能,谢谢!