首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL Server :分组依据和透视

SQL Server :分组依据和透视
EN

Stack Overflow用户
提问于 2017-08-01 15:44:01
回答 1查看 3.2K关注 0票数 1

我正在编写一个SQL Server查询来提取数据。

以我的查询为例:

代码语言:javascript
复制
SELECT 
    DATEPART(Year, capDateTime) Year, 
    DATEPART(Month, capDateTime) Month, 
    SUM(CAST(amount AS MONEY)) [TotalAmount]
FROM 
    dbo.iso_main
GROUP BY 
    DATEPART(Year, capDateTime), DATEPART(Month, capDateTime)
ORDER BY 
    Year, Month 

结果如下:

现在,我一直在问自己,我是如何得到这样的结果的:

代码语言:javascript
复制
|Month 7    | Month 8    |
+-----------+------------+
| 726800.00 | 2208400.00 |

我真的不关心年份,我只想让它返回几个月。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-08-01 15:53:43

像这样使用PIVOT

代码语言:javascript
复制
SELECT *
FROM (
    SELECT 
        year(capDateTime) as [year],left(datename(month,icapDateTime),3)as [month], 
        CAST(amount AS money) as Amount 
    FROM dbo.iso_main
) as s
PIVOT
(
    SUM(Amount) 
    FOR [month] IN (jan, feb, mar, apr, 
    may, jun, jul, aug, sep, oct, nov, dec)
)AS pvt

请查看this link了解更多信息。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45431820

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档