zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    移动零【283】
    下一个排列【31】
    插入区间【57】
    有效的山脉数组【941】
    两个数组的交集【349】
    求根到叶子节点数字之和【129】
    解决已经pip 安装成功的第三方包,但总是标红或者运行报错import PendingDeprecationWarning
    String、StringBuffer与StringBuilder之间区别
    《Java 核心技术第 10 版》-- 读书笔记
    【转载】如何保证消息不被重复消费?
  • 原文地址:https://www.cnblogs.com/zyj649261718/p/6323258.html
Copyright © 2011-2022 走看看