首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >问:如何对转换的数据列进行分组

问问:如何对转换的数据列进行分组
EN

Stack Overflow用户
提问于 2020-07-02 14:21:02
回答 1查看 13关注 0票数 1

我在Microsoft SQL Server 2016上使用TSQL

我想创建一个SQL,让我的照片计数按员工,分组按年和月(过去36个月)

所以这是我首先尝试的:

代码语言:javascript
复制
  select 
    count(emp) AS NumberOfPics,
    emp AS employee,
    LEFT(picdatum,4) AS YearPic,
    (Select Top 36 left(dbo.f376.picdatum,6))
FROM Storage
GROUP BY emp, LEFT(picdatum,4),  LEFT(picdatum,6)

它工作得很好Result of my SQL

但是约会的结果并不是那么好。

所以我做了第二个。

代码语言:javascript
复制
  select top 10
        CONVERT (datetime,convert(char(8),picdatum)),
    DATEPART(YYYY,CONVERT (datetime,convert(char(8),picdatum))) AS YearPic,
    DATEPART(MM, CONVERT (datetime,convert(char(8),picdatum))) AS MonthPic,
    DATEPART(WW, CONVERT (datetime,convert(char(8),picdatum))) AS WeekPic
  from storage

Datepard和结果看起来好多了。

但问题来了,我需要你的帮助:

如果我尝试将它与:

代码语言:javascript
复制
  select  count(emp) AS NumberOfPics,
         emp AS Employee,
        CONVERT (datetime,convert(char(8),picdatum)),
    DATEPART(YYYY,CONVERT (datetime,convert(char(8),picdatum))) AS YearPic,
    DATEPART(MM, CONVERT (datetime,convert(char(8),picdatum))) AS MonthPic,
    DATEPART(WW, CONVERT (datetime,convert(char(8),picdatum))) AS WeekPic
from storage
GROUP BY emp, YearPic,  MonthPic

它可能不起作用,即使我再次使用左边的部分,它也是这样的:

storage.picdatum列在选择列表中无效,因为它既未包含在聚合函数中,也未包含在GROUP BY子句中。

那么,如何使用Datepart函数进行分组,以及如何解决此特定sql上的聚合问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-07-02 14:23:57

别名在group by子句中不起作用-您需要将其替换为actual

代码语言:javascript
复制
    select   count(emp) AS NumberOfPics,
             emp AS Employee,
             DATEPART(YYYY,CONVERT (datetime,convert(char(8),picdatum))) AS YearPic,
             DATEPART(MM, CONVERT (datetime,convert(char(8),picdatum))) AS MonthPic,
             DATEPART(WW, CONVERT (datetime,convert(char(8),picdatum))) AS WeekPic
    from storage
    GROUP BY emp, DATEPART(YYYY,CONVERT (datetime,convert(char(8),picdatum))),  DATEPART(MM, CONVERT (datetime,convert(char(8),picdatum))),DATEPART(WW, CONVERT 
(datetime,convert(char(8),picdatum)))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62690153

复制
相关文章

相似问题

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