• 締切済み

MySQLデータでデータチェック

データを年度の古い順に保存。 誤っているデータは、noを修正したい。 ●現在のデータ code no year ----- --- ------- 101 1 2012 101 2 2008 101 3 2010 ↓ 正しくは、 ●正しいデータ code no year ----- --- ------- 101 1 2008 101 2 2010 101 3 2012 この場合、誤ったデータを検索するSELECT文はどのように書くのが良いでしょうか? 誤ったデータがある、codeを検索。 noの数字を修正、となります。 わかる方がいましたら教えて下さい。

みんなの回答

回答No.2

何を持って誤ったデータと判断するのか。条件がさっぱり見えてきません。 読み取れる規則性としては codeが同じであれば noは1から連番 yearは昇順 noXのyear < noX+1のyear つまり noXのyear > noX+1のyear を見つけ出せば解決ですか?

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

仕様がむちゃくちゃな感じ・・・ codeは101の3ケタ?、noが1ケタ?、yearが4ケタ? これはcode、no、yearとい3つのカラムがあるのか それとも「codenoyear」という1つのカラムなのでしょうか? また古い順がyearの昇順だとして、おなじyearの場合はnoは同じなのでしょうか? それ以降のデータは繰り下がるのでしょうか?

taaaaaaa
質問者

補足

失礼しました。 スペースが飛んでしまいました。 code no year がそれぞれフィールドです。 code  no year ----- --- ------- 101  1  2012 101  2  2008 101  3  2010 ↓ 正しくは、 code  no year ----- --- ------- 101  1  2008 101  2  2010 101  3  2012 となります。