【问题标题】:I am trying to show the count and group by using SELECT from SQL Server我正在尝试使用 SQL Server 中的 SELECT 来显示计数和组
【发布时间】:2022-11-19 22:06:35
【问题描述】:

我正在尝试使用 SQL Server 中的分组依据显示每月和每年的操作系统和部门数量:

SELECT 
    COUNT(EVT_CODE) AS OS, EVT_MRC AS DEPARTMENT, 
    DATENAME(MONTH, EVT_CREATED) AS MONTH, 
    YEAR(EVT_CREATED) AS YEAR
FROM
    R5EVENTS
GROUP BY 
    EVT_MRC, YEAR(EVT_CREATED), DATENAME(MONTH, EVT_CREATED)
ORDER BY 
    'YEAR' DESC

我期待这些结果:

select expected

【问题讨论】:

  • 您需要按月PIVOT才能获得您想要的结果,
  • 提供数据而不是图像有助于更快地从社区获得推荐。这是您获得 Downvote 的原因之一

标签: sql-server select count sum


【解决方案1】:

我想你想 PIVOT 你的表,以便月份是列名。下面的代码示例未经过测试,因为您未提供示例数据。

SELECT 
    COUNT(EVT_CODE) AS OS, EVT_MRC AS DEPARTMENT, 
    DATENAME(MONTH, EVT_CREATED) AS MONTH, 
    YEAR(EVT_CREATED) AS YEAR
FROM
    R5EVENTS
PIVOT  
(  
    COUNT(EVT_CODE) 
FOR [MONTH] IN
    January, February, March, April, May, June, August, September, October, November, December
) AS p 
GROUP BY 
    EVT_MRC, YEAR(EVT_CREATED), DATENAME(MONTH, EVT_CREATED)
ORDER BY 
    'YEAR' DESC

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    • 2021-04-10
    • 1970-01-01
    • 2022-06-10
    • 2021-12-25
    • 2017-10-16
    • 2023-03-22
    相关资源
    最近更新 更多