首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL语句怎么求个月份的和或差

2012-09-15 
SQL语句如何求个月份的和或差时间设备1设备2设备32012-7-11112012-7-2234。。。。。。。。2012-7-31102030。。。。。。。。

SQL语句如何求个月份的和或差
时间 设备1 设备2 设备3
2012-7-1 1 1 1
2012-7-2 2 3 4
  。 。 。 。
  。 。 。 。
2012-7-31 10 20 30
  。 。 。 。 
  。 。 。 。
2012-8-1 12 23 36
2012-8-2 13 25 40
2012-8-3 15 27 41
  。 。 。 。
  。 。 。 。
要搜索出来的是

时间 设备1 设备2 设备3
2012-7 设备1七月份总和 设备2七月份总和 设备3七月份总和
2012-8 设备1八月份总和 设备2八月份总和 设备3八月份总和

时间 设备1 设备2 设备3
2012-7 最后一天-第一天
2012-8

数据是一年的,要把每个月的数据都检索出来

[解决办法]

SQL code
select convert(varchar(7),时间,120),sum(设备1),sum(设备2),sum(设备3) from tbgroup by convert(varchar(7),时间,120)
[解决办法]
SQL code
--差SELECT  时间, SUM(设备1), SUM(设备2), SUM(设备3)FROM    (          SELECT  CONVERT(VARCHAR(7), 时间, 120) AS 时间, 设备1, 设备2, 设备3          FROM    tb AS t          WHERE   时间 = (                         SELECT MAX (时间) FROM tb WHERE CONVERT( VARCHAR (7), 时间, 120)= CONVERT( VARCHAR (7), t.时间, 120)                       )          GROUP BY CONVERT(VARCHAR(7), 时间, 120)          UNION ALL          SELECT  CONVERT(VARCHAR(7), 时间, 120) AS 时间, -设备1, -设备2, -设备3          FROM    tb AS t          WHERE   时间 = (                         SELECT MIN (时间) FROM tb WHERE CONVERT( VARCHAR (7), 时间, 120)= CONVERT( VARCHAR (7), t.时间, 120)                       )          GROUP BY CONVERT(VARCHAR(7), 时间, 120)        ) AS aGROUP BY 时间 

热点排行