毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> 数据库 >> 正文

SQL语句如何求个月份的和或差

更新时间:2012-8-27:  来源:毕业论文

时间 设备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

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

select convert(varchar(7),时间,120)
,sum(设备1)
,sum(设备2)
,sum(设备3)
from tb
group by convert(varchar(7),时间,120)

--差


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 a
GROUP BY 时间

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。