zoukankan      html  css  js  c++  java
  • sql 时间行列转换求总和

    先看表结构

    USE [TestMyDB]
    GO
    
    /****** Object:  Table [dbo].[Product]    Script Date: 2015/9/25 16:09:39 ******/
    SET ANSI_NULLS ON
    GO
    
    SET QUOTED_IDENTIFIER ON
    GO
    
    SET ANSI_PADDING OFF
    GO
    
    CREATE TABLE [dbo].[Product](
        [ProductId] [VARCHAR](36) NOT NULL,
        [ProductName] [VARCHAR](50) NULL,
        [CreateDate] [DATETIME] NULL,
        [Price] [DECIMAL](18, 2) NULL,
     CONSTRAINT [PK_Product] PRIMARY KEY CLUSTERED 
    (
        [ProductId] ASC
    )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
    ) ON [PRIMARY]
    
    GO
    
    SET ANSI_PADDING OFF
    GO

    插入语句

    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    --INSERT INTO dbo.Product VALUES(NEWID(),'鸡蛋',GETDATE(),0.5)
    
    
    
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'猪肉',GETDATE(),25.8)
    
    
    --INSERT INTO dbo.Product VALUES(NEWID(),'牛肉',GETDATE(),60.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'牛肉',GETDATE(),60.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'牛肉',GETDATE(),60.8)
    --INSERT INTO dbo.Product VALUES(NEWID(),'牛肉',GETDATE(),60.1)

    时间行列转换求总和

    SELECT
            ProductName,
            SUM([1]+[2]+[3]+[4]+[5]+[6]+[24]) AS summary,
            [1] ,
            [2] ,
            [3] ,
            [4],
            [5],
            [6],
            [24]
            
    from
    (SELECT  --'当天价格总和' AS Cost_Sorted_By_Production_Days ,
            ProductName,
            ISNULL([1],0) AS [1],
            ISNULL([2],0) AS [2],
            ISNULL([3],0) AS [3],
            ISNULL([4],0) AS [4],
            ISNULL([5],0) AS [5],
            ISNULL([6],0) AS [6],
            ISNULL([24],0)AS [24]
    FROM    ( SELECT    
    DAY(CreateDate) CreateDate,
    ProductName ,
    SUM(Price) Price
    FROM dbo.Product GROUP BY ProductName,day(CreateDate)
            ) AS SourceTable PIVOT
    ( SUM(Price) FOR CreateDate IN ( [1], [2], [3], [4],[5],[6],[24] ) ) AS PivotTable ) AS a  GROUP BY a.ProductName,a.[1],a.[2],a.[3],a.[4],a.[5],a.[6],a.[24]
  • 相关阅读:
    用js实现 全选功能(Gridview)
    图片 加文字水印或者图片水印
    Gridview中RowCommand事件的应用
    图片噪点的产生
    DataList实现折叠效果
    利用Request对象的CurrentExecutionFilePath做分页
    利用分页控件AspNetPager来做数据的分页
    log4Net一些记忆性总结
    彩色验证码
    组织机构设计器窗体基类 代码分析
  • 原文地址:https://www.cnblogs.com/suntanyong88/p/4838602.html
Copyright © 2011-2022 走看看