sql 根据年份、月份查询数据

CREATE TABLE [dbo].[T_UserAccess](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [UserId] [int] NULL,
    [UserType] [int] NULL,
    [OpenId] [nvarchar](50) NULL,
    [UnionId] [nvarchar](50) NULL,
    [CreationTime] [datetime] NULL,
    [AppId] [int] NULL,
 CONSTRAINT [PK_T_UserAccess] PRIMARY KEY CLUSTERED 
(
    [Id] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]

sql 根据年份、月份查询数据

SELECT ISNULL(NEWID(), 'd1e57ca7-6eee-495a-be13-73d5e7d51f36') AS Id,
       userAccess.Year,
       Sum(January) January,
       Sum(February) February,
       Sum(March) March,
       Sum(April) April,
       Sum(May) May,
       Sum(June) June,
       Sum(July) July,
       Sum(August) August,
       Sum(September) September,
       Sum(October) October,
       Sum(November) November,
       Sum(December) December
FROM
  ( SELECT years AS 'Year',
           CASE
               WHEN months=1 THEN counts
               ELSE 0
           END 'January',
           CASE
                WHEN months=2 THEN counts
                ELSE 0
            END 'February',
                CASE
                WHEN months=3 THEN counts
                ELSE 0
                END 'March',
            CASE
                WHEN months=4 THEN counts
                ELSE 0
                END 'April',
                CASE
                WHEN months=5 THEN counts
                ELSE 0
                END 'May',
            CASE
                WHEN months=6 THEN counts
                ELSE 0
                END 'June',
            CASE
                WHEN months=7 THEN counts
                ELSE 0
                END 'July',
            CASE
                WHEN months=8 THEN counts
                ELSE 0
                END 'August',
            CASE
                WHEN months=9 THEN counts
                ELSE 0
                END 'September',
            CASE
                WHEN months=10 THEN counts
                ELSE 0
                END 'October',
            CASE
                WHEN months=11 THEN counts
                ELSE 0
                END 'November',
            CASE
                WHEN months=12 THEN counts
                ELSE 0
                END 'December'
   FROM
     (SELECT datepart(yy,CreationTime) AS years,
             datepart(mm,CreationTime) months,
                                       count(1)AS counts
      FROM [T_UserAccess]
      GROUP BY year(CreationTime),
               month(CreationTime))AS ua ) AS userAccess
GROUP BY Year

 

转载于:https://www.cnblogs.com/zyj649261718/p/6323258.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值