zui2jun
2016-04-15 05:31
采纳率: 42.9%
浏览 1.5k

一个纠结的sql分组查询语句

是这样的 数据库里有一张
宿舍用电表(宿舍号,时间,电表度数)
dormitoryElectric(dormitory,time,electric)
里面存的是每个小时电表上的度数,那我想查询所有宿舍近7天的每天用电度数要怎么写。
效果大概是这样的:
宿舍1 第一天用电度数 第二天用电度数 第三天用电度数 。。。
宿舍2 第一天用电度数 第二天用电度数 第三天用电度数 。。。
第二天用电度数应该是第二天的最后一次电表度数减去第一天的最后一次电表度数

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

3条回答 默认 最新

  • 寒心孤瞳 2016-04-15 06:37
    已采纳

    oracle的写法, mysql也有case when的表达式

     Select t.Dormitory,
           Sum(Case
                 When t.Time >= Trunc(Sysdate) - 2 And t.Time < Trunc(Sysdate) - 1 Then
                  t.Electric
                 Else
                  0
               End) day2ago,
           Sum(Case
                 When t.Time >= Trunc(Sysdate) - 1 And t.Time < Trunc(Sysdate) - 0 Then
                  t.Electric
                 Else
                  0
               End) day1ago
      From Dormitoryelectric t
     Group By t.Dormitory
    
    评论
    解决 无用
    打赏 举报
  • 查看更多回答(2条)

相关推荐 更多相似问题