我有一张表,里面3字段id、time、value.
由于value中的部分值异常的大,我想批量修改数据,比如说4.1日-4.20日出现中出现异常大的数据,我想把异常大的数据修改成和他时间段(时间段前或者后)差不多的数据,请问下这个sql应该怎么写啊。我用游标的方法怎么实现。谢谢啊!

解决方案 »

  1.   

    直接用标准SQL语句可以吗?
      

  2.   

    大致如下:
    Update 表格
    Set  value = t.value
    From 表格 t
    where 
    (t.[time] > '2015.04.01' or t.[time] < '2015.04.20')
    and id = t.id
    --and t.value 是正常数据的条件
     ---还可加入其他选取条件
      

  3.   

    能帮我写的详细点么
    把测试数据给出来吧。
    如下是测试数据
    8 2015/4/1 0:10 2
    8 2015/4/1 0:20 122.5
    8 2015/4/1 0:30 18
    8 2015/4/1 0:40 36
    8 2015/4/1 0:50 19
    8 2015/4/1 1:00 144
    8 2015/4/1 1:10 8
    8 2015/4/1 1:20 133
    8 2015/4/1 1:30 18
    8 2015/4/1 1:40 45
    8 2015/4/1 1:50 123.71875
    8 2015/4/1 2:00 122.5
    8 2015/4/1 2:10 120
    8 2015/4/1 2:20 110
    8 2015/4/1 2:30 112.5
    8 2015/4/1 2:40 120
    8 2015/4/1 2:50 122.5
    8 2015/4/1 3:00 1
    8 2015/4/1 3:10 25
    8 2015/4/1 3:20 85
    8 2015/4/1 3:30 121.28125
    8 2015/4/1 3:40 7
    8 2015/4/1 3:50 125
    8 2015/4/1 4:00 123.78125
    8 2015/4/1 4:10 93
    8 2015/4/1 4:20 98
    8 2015/4/1 4:30 42
    8 2015/4/1 4:40 4
    8 2015/4/1 4:50 68
    8 2015/4/1 5:00 11
    8 2015/4/1 5:10 122.5
    8 2015/4/1 5:20 49
    8 2015/4/1 5:30 125
    8 2015/4/1 5:40 120
    8 2015/4/1 5:50 117.5
    8 2015/4/1 6:00 59
    8 2015/4/1 6:10 122.5
    8 2015/4/1 6:20 127
    8 2015/4/1 6:30 123.71875
    8 2015/4/1 6:40 99
    8 2015/4/1 6:50 15
    8 2015/4/1 7:00 75
    8 2015/4/1 7:10 16
    8 2015/4/1 7:20 145
    8 2015/4/1 7:30 127
    8 2015/4/1 7:40 56
    8 2015/4/1 7:50 47
    8 2015/4/1 8:00 61
    8 2015/4/1 8:10 108
    8 2015/4/1 8:20 112
    8 2015/4/1 8:30 57
    8 2015/4/1 8:40 133
    8 2015/4/1 8:50 46
    8 2015/4/1 9:00 61
    8 2015/4/1 9:10 119
    8 2015/4/1 9:20 113
    8 2015/4/1 9:30 66
    8 2015/4/1 9:40 76
    8 2015/4/1 9:50 18
    8 2015/4/1 10:00 152
    8 2015/4/1 10:10 120
    8 2015/4/1 10:20 48
    8 2015/4/1 10:30 42
    8 2015/4/1 10:40 52
    8 2015/4/1 10:50 153
    8 2015/4/1 11:00 39
    8 2015/4/1 11:10 52
    8 2015/4/1 11:20 57
    8 2015/4/1 11:30 63
    8 2015/4/1 11:40 29
    8 2015/4/1 11:50 40
    8 2015/4/1 12:00 93
    8 2015/4/1 12:10 150
    8 2015/4/1 12:20 8
    8 2015/4/1 12:30 103
    8 2015/4/1 12:40 44
    8 2015/4/1 12:50 1
    8 2015/4/1 13:00 112
    8 2015/4/1 13:10 154
    8 2015/4/1 13:20 25
    8 2015/4/1 13:30 126
    8 2015/4/1 13:40 69
    8 2015/4/1 13:50 69
    8 2015/4/1 14:00 80
    8 2015/4/1 14:10 133
    8 2015/4/1 14:20 48
    8 2015/4/1 14:30 140
    8 2015/4/1 14:40 146
    8 2015/4/1 14:50 6
    8 2015/4/1 15:00 156
    8 2015/4/1 15:10 108
    8 2015/4/1 15:20 154
    8 2015/4/1 15:30 153
    8 2015/4/1 15:40 72
    8 2015/4/1 15:50 1
    8 2015/4/1 16:00 112
    8 2015/4/1 16:10 96
    8 2015/4/1 16:20 36
    8 2015/4/1 16:30 90
    8 2015/4/1 16:40 156
    8 2015/4/1 16:50 22
    8 2015/4/1 17:00 64
    8 2015/4/1 17:10 32
    8 2015/4/1 17:20 0
    8 2015/4/1 17:30 89
    8 2015/4/1 17:40 96
    8 2015/4/1 17:50 21
    8 2015/4/1 18:00 69
    8 2015/4/1 18:10 41
    8 2015/4/1 18:20 100
    8 2015/4/1 18:30 127
    8 2015/4/1 18:40 59
    8 2015/4/1 18:50 145
    8 2015/4/1 19:00 156
    8 2015/4/1 19:10 67
    8 2015/4/1 19:20 22
    8 2015/4/1 19:30 14
    8 2015/4/1 19:40 128
    8 2015/4/1 19:50 105
    8 2015/4/1 20:00 105
    8 2015/4/1 20:10 115
    8 2015/4/1 20:20 91
    8 2015/4/1 20:30 67
    8 2015/4/1 20:40 127
    8 2015/4/1 20:50 30
    8 2015/4/1 21:00 80
    8 2015/4/1 21:10 86
    8 2015/4/1 21:20 27
    8 2015/4/1 21:30 68
    8 2015/4/1 21:40 24
    8 2015/4/1 21:50 123
    8 2015/4/1 22:00 108
    8 2015/4/1 22:10 151
    8 2015/4/1 22:20 106
    8 2015/4/1 22:30 82
    8 2015/4/1 22:40 96
    8 2015/4/1 22:50 103
    8 2015/4/1 23:00 4
    8 2015/4/1 23:10 105
    8 2015/4/1 23:20 13
    8 2015/4/1 23:30 34
    8 2015/4/1 23:40 12
    8 2015/4/1 23:50 29
    8 2015/4/2 0:00 126
    8 2015/4/2 0:10 73
    8 2015/4/2 0:20 134
    8 2015/4/2 0:30 33
    8 2015/4/2 0:40 148
    8 2015/4/2 0:50 108
    8 2015/4/2 1:00 119
    8 2015/4/2 1:10 72
    8 2015/4/2 1:20 50
    8 2015/4/2 1:30 97
    8 2015/4/2 1:40 61
    8 2015/4/2 1:50 154
    8 2015/4/2 2:00 106
    8 2015/4/2 2:10 107
    8 2015/4/2 2:20 80
    8 2015/4/2 2:30 93
    8 2015/4/2 2:40 113
    8 2015/4/2 2:50 10
    8 2015/4/2 3:00 73
    8 2015/4/2 3:10 48
    8 2015/4/2 3:20 150
    8 2015/4/2 3:30 137
    8 2015/4/2 3:40 38
    8 2015/4/2 3:50 123
    8 2015/4/2 4:00 78
    8 2015/4/2 4:10 101
    8 2015/4/2 4:20 142
    8 2015/4/2 4:30 86
    8 2015/4/2 4:40 150
    8 2015/4/2 4:50 77
    8 2015/4/2 5:00 104
    8 2015/4/2 5:10 118
    8 2015/4/2 5:20 29
    8 2015/4/2 5:30 133
    8 2015/4/2 5:40 81
    8 2015/4/2 5:50 125
    8 2015/4/2 6:00 21
    8 2015/4/2 6:10 123.6875
    8 2015/4/2 6:20 130
    8 2015/4/2 6:30 32
    8 2015/4/2 6:40 121
    8 2015/4/2 6:50 121.1875
    8 2015/4/2 7:00 51
    8 2015/4/2 7:10 125
    8 2015/4/2 7:20 120
    8 2015/4/2 7:30 112.5
    8 2015/4/2 7:40 117.5
    8 2015/4/2 7:50 116.1875
    8 2015/4/2 8:00 108.8125
    8 2015/4/2 8:10 66.1875
    8 2015/4/2 8:20 23.8125
    8 2015/4/2 8:30 17.5
    8 2015/4/2 8:40 16.1875
    8 2015/4/2 8:50 16.3125
    8 2015/4/2 9:00 18.6875
    8 2015/4/2 9:10 32.5
    8 2015/4/2 9:20 36.3125
    8 2015/4/2 9:30 41.1875
    8 2015/4/2 9:40 37.5
    8 2015/4/2 9:50 41.3125
    8 2015/4/2 10:00 41.1875
    8 2015/4/2 10:10 36.3125
    8 2015/4/2 10:20 38.6875
    8 2015/4/2 10:30 33.8125
    8 2015/4/2 10:40 37.5
    8 2015/4/2 10:50 36.1875
    8 2015/4/2 11:00 37.5
    8 2015/4/2 11:10 36.3125
    8 2015/4/2 11:20 37.5
    8 2015/4/2 11:30 32.5
    8 2015/4/2 11:40 32.5
    8 2015/4/2 11:50 30
    8 2015/4/2 12:00 27.5
    8 2015/4/2 12:10 31.1875
    8 2015/4/2 12:20 27.5
    8 2015/4/2 12:30 30
    8 2015/4/2 12:40 27.5
    8 2015/4/2 12:50 30
    8 2015/4/2 13:00 28.8125
    8 2015/4/2 13:10 31.1875
    8 2015/4/2 13:20 31.3125
    8 2015/4/2 13:30 30
    8 2015/4/2 13:40 32.5
    8 2015/4/2 13:50 36.1875
    8 2015/4/2 14:00 38.8125
    8 2015/4/2 14:10 35
    8 2015/4/2 14:20 33.6875
    8 2015/4/2 14:30 32.5
    8 2015/4/2 14:40 31.3125
    8 2015/4/2 14:50 32.5
    8 2015/4/2 15:00 28.6875
    8 2015/4/2 15:10 28.8125
    8 2015/4/2 15:20 28.6875
    8 2015/4/2 15:30 26.3125
    8 2015/4/2 15:40 32.5
    8 2015/4/2 15:50 27.5
    8 2015/4/2 16:00 30
    8 2015/4/2 16:10 27.5
    8 2015/4/2 16:20 28.6875
    8 2015/4/2 16:30 28.8125
    8 2015/4/2 16:40 28.6875
    8 2015/4/2 16:50 26.3125
    8 2015/4/2 17:00 26.1875
    8 2015/4/2 17:10 26.3125
    8 2015/4/2 17:20 23.6875
    8 2015/4/2 17:30 23.8125
    8 2015/4/2 17:40 25
    8 2015/4/2 17:50 22.5
    8 2015/4/2 18:00 26.1875
    8 2015/4/2 18:10 21.3125
    8 2015/4/2 18:20 23.6875
    8 2015/4/2 18:30 23.8125
    8 2015/4/2 18:40 27.5
    8 2015/4/2 18:50 25
    8 2015/4/2 19:00 25
    8 2015/4/2 19:10 26.1875
    8 2015/4/2 19:20 27.5
    8 2015/4/2 19:30 25
    8 2015/4/2 19:40 28.8125
    8 2015/4/2 19:50 35
    8 2015/4/2 20:00 32.5
    8 2015/4/2 20:10 32.5
    8 2015/4/2 20:20 33.6875
    8 2015/4/2 20:30 31.3125
    8 2015/4/2 20:40 32.5
    8 2015/4/2 20:50 31.1875
    8 2015/4/2 21:00 30
    8 2015/4/2 21:10 31.3125
    8 2015/4/2 21:20 26.1875
    8 2015/4/2 21:30 25
    8 2015/4/2 21:40 28.8125
    8 2015/4/2 21:50 32.5
    8 2015/4/2 22:00 43.6875
    8 2015/4/2 22:10 55
    8 2015/4/2 22:20 110
    8 2015/4/2 22:30 136
    8 2015/4/2 22:40 32
    8 2015/4/2 22:50 131
    8 2015/4/2 23:00 60
    8 2015/4/2 23:10 28
    8 2015/4/2 23:20 64
    8 2015/4/2 23:30 125
    8 2015/4/2 23:40 80
    8 2015/4/2 23:50 108
    8 2015/4/3 0:00 124
    8 2015/4/3 0:10 145
    8 2015/4/3 0:20 153
    8 2015/4/3 0:30 96
    8 2015/4/3 0:40 138
    8 2015/4/3 0:50 93
    8 2015/4/3 1:00 79
    8 2015/4/3 1:10 117
    8 2015/4/3 1:20 33
    8 2015/4/3 1:30 152
    8 2015/4/3 1:40 148
    8 2015/4/3 1:50 44
    8 2015/4/3 2:00 123
    8 2015/4/3 2:10 41
    8 2015/4/3 2:20 16
    8 2015/4/3 2:30 20
    8 2015/4/3 2:40 43
    8 2015/4/3 2:50 71
    8 2015/4/3 3:00 43
    8 2015/4/3 3:10 143
    8 2015/4/3 3:20 101
    8 2015/4/3 3:30 10
    8 2015/4/3 3:40 40
    8 2015/4/3 3:50 150
    8 2015/4/3 4:00 13
    8 2015/4/3 4:10 141
    8 2015/4/3 4:20 117
    8 2015/4/3 4:30 75
    8 2015/4/3 4:40 14
    8 2015/4/3 4:50 7
    8 2015/4/3 5:00 103
    8 2015/4/3 5:10 41
    8 2015/4/3 5:20 75
    8 2015/4/3 5:30 4
    8 2015/4/3 5:40 138
    8 2015/4/3 5:50 117
    8 2015/4/3 6:00 69
    8 2015/4/3 6:10 102.5
    8 2015/4/3 6:20 50
    8 2015/4/3 6:30 38.8125
    8 2015/4/3 6:40 40
    8 2015/4/3 6:50 22.5
    8 2015/4/3 7:00 22.5
    8 2015/4/3 7:10 26.1875
    8 2015/4/3 7:20 26.3125
    8 2015/4/3 7:30 23.6875
    8 2015/4/3 7:40 26.3125
    8 2015/4/3 7:50 26.3125
    8 2015/4/3 8:00 48.6875
    8 2015/4/3 8:10 23.8125
    8 2015/4/3 8:20 23.6875
    8 2015/4/3 8:30 25
    8 2015/4/3 8:40 30
    8 2015/4/3 8:50 28.8125
    8 2015/4/3 9:00 28.8125
    8 2015/4/3 9:10 57.5
    8 2015/4/3 9:20 27.5
    8 2015/4/3 9:30 25
    8 2015/4/3 9:40 35
    8 2015/4/3 9:50 27.5
    8 2015/4/3 10:00 28.6875
    8 2015/4/3 10:10 28.6875
    8 2015/4/3 10:20 48.8125
    8 2015/4/3 10:30 26.1875
    8 2015/4/3 10:40 30
    8 2015/4/3 10:50 32.5
    8 2015/4/3 11:00 27.5
    8 2015/4/3 11:10 25
    8 2015/4/3 11:20 27.5
    8 2015/4/3 11:20 27.5
    8 2015/4/3 11:30 23.8125
    8 2015/4/3 11:40 28.6875
    8 2015/4/3 11:50 22.5
    8 2015/4/3 12:00 23.8125
    8 2015/4/3 12:10 22.5
    8 2015/4/3 12:20 21.1875
    8 2015/4/3 12:30 21.3125
    8 2015/4/3 12:40 21.1875
    8 2015/4/3 12:50 21.3125
    8 2015/4/3 13:00 22.5
    8 2015/4/3 13:10 20
    8 2015/4/3 13:20 22.5
    8 2015/4/3 13:30 26.1875
    8 2015/4/3 13:40 28.8125
    8 2015/4/3 13:50 26.1875
    8 2015/4/3 14:00 26.3125
    8 2015/4/3 14:10 27.5
    8 2015/4/3 14:20 23.6875
    8 2015/4/3 14:30 23.8125
    8 2015/4/3 14:40 26.1875
    8 2015/4/3 14:50 27.5
    8 2015/4/3 15:00 30
    8 2015/4/3 15:10 30
    8 2015/4/3 15:20 28.8125
    8 2015/4/3 15:30 27.5
    8 2015/4/3 15:40 30
    8 2015/4/3 15:50 28.6875
    8 2015/4/3 16:00 26.3125
    8 2015/4/3 16:10 26.1875
    8 2015/4/3 16:20 25
    8 2015/4/3 16:30 26.3125
    8 2015/4/3 16:40 28.6875
    8 2015/4/3 16:50 23.8125
    8 2015/4/3 17:00 27.5
    8 2015/4/3 17:10 27.5
    8 2015/4/3 17:20 26.1875
    8 2015/4/3 17:30 30
    8 2015/4/3 17:40 26.3125
    8 2015/4/3 17:50 27.5
    8 2015/4/3 18:00 25
    8 2015/4/3 18:10 26.1875
    8 2015/4/3 18:20 26.3125
    8 2015/4/3 18:30 26.1875
    8 2015/4/3 18:40 28.8125
    8 2015/4/3 18:50 25
    8 2015/4/3 19:00 28.6875
    8 2015/4/3 19:10 28.8125
    8 2015/4/3 19:20 28.6875
    8 2015/4/3 19:30 31.3125
    8 2015/4/3 19:40 32.5
    8 2015/4/3 19:50 37.5
    8 2015/4/3 20:00 33.6875
    8 2015/4/3 20:10 36.3125
    8 2015/4/3 20:20 33.6875
    8 2015/4/3 20:30 35
    8 2015/4/3 20:40 33.8125
    8 2015/4/3 20:50 35
    8 2015/4/3 21:00 32.5
    8 2015/4/3 21:10 28.6875
    8 2015/4/3 21:20 28.8125
    8 2015/4/3 21:30 28.6875
    8 2015/4/3 21:40 30
    8 2015/4/3 21:50 27.5
    8 2015/4/3 22:00 46.3125
    以上特别小的就是异常数据(小于50的)
    请帮助,谢谢
    字段是 id Dtime value
      

  4.   

    update b set b.value=(select top 1 value from 表格 a where a.value>50 
                 and abs(datediff(day,b.dtime,a.dtime))=1 order by a.dtime)
      from 表格  b where b.value<50