2011-04-26 37 views
1

我有一個表,類似於這樣一個MySQL 5.5數據庫重複MySQL中的序列:標籤採用兩列

id test location measurement unit device retest 
    1 1  1  -2405.5  mV 1  null 
    2 1  2  856  mV 1  null 
    3 1  3  956.4  mV 1  null 
    4 2  1  -805.5  mV 1  null 
    5 2  2  1456  mV 1  null 
    6 2  3  22.4  mV 1  null 
    7 1  1  -805.5  mV 1  null 
    8 1  2  456  mV 1  null 
    9 1  3  456.4  mV 1  null 
    10 2  1  -805.5  mV 1  null 
    11 2  2  456  mV 1  null 
    12 2  3  456.4  mV 1  null 
    13 1  1  -805.5  mV 2  null 
    14 1  2  856  mV 2  null 
    15 1  3  756.4  mV 2  null 
    16 2  1  -805.5  mV 2  null 
    17 2  2  456  mV 2  null 
    18 2  3  456.4  mV 2  null 
    19 1  1  -805.5  mV 3  null 
    20 1  2  456  mV 3  null 
    21 1  3  456.4  mV 3  null 
    22 2  1  -805.5  mV 3  null 
    23 2  2  456  mV 3  null 
    24 2  3  456.4  mV 3  null 

我想我的表,以反映設備重新測試的次數:

id test location measurement unit device retest 
    1 1  1  -2405.5  mV 1  0 
    2 1  2  856  mV 1  0 
    3 1  3  956.4  mV 1  0 
    4 2  1  -805.5  mV 1  0 
    5 2  2  1456  mV 1  0 
    6 2  3  22.4  mV 1  0 
    7 1  1  -805.5  mV 1  1 
    8 1  2  456  mV 1  1 
    9 1  3  456.4  mV 1  1 
    10 2  1  -805.5  mV 1  1 
    11 2  2  456  mV 1  1 
    12 2  3  456.4  mV 1  l 
    13 1  1  -805.5  mV 2  0 
    14 1  2  856  mV 2  0 
    15 1  3  756.4  mV 2  0 
    16 2  1  -805.5  mV 2  0 
    17 2  2  456  mV 2  0 
    18 2  3  456.4  mV 2  0 
    19 1  1  -805.5  mV 3  0 
    20 1  2  456  mV 3  0 
    21 1  3  456.4  mV 3  0 
    22 2  1  -805.5  mV 3  0 
    23 2  2  456  mV 3  0 
    24 2  3  456.4  mV 3  0 

我搜索了幾天,我發現的都是用於計算重複次數的技術。我確信關鍵在於測試,位置和設備列的組合,但我缺乏技能。感謝您提供的任何幫助。

回答

1
SELECT *, 
     EXISTS 
     (
     SELECT NULL 
     FROM mytable mr 
     WHERE mr.test = m.test 
       AND mr.location = m.location 
       AND mr.device = m.device 
       AND mr.id < m.id 
     ) AS retest 
FROM mytable m 

(test, location, device, id)上創建一個索引,以便快速工作。

+0

謝謝你的幫助。起初它沒有像預期的那樣工作,但結果這是一個糾正我的數據集問題的機會。謝謝! – 2011-04-26 18:29:38