みなさん、こんにちは。
値がグループに分割されたテーブルがあり、各グループの行のみを変更したいとします。いくつかの例を見てみましょう。これが開始状況です。
ID | CODE | DEFAULT
-----+----------+-----------
1 | 1234 | 0
2 | 1234 | 0
3 | 1234 | 0
4 | 5678 | 0
5 | 5678 | 0
6 | 7777 | 0
7 | 8888 | 0
8 | 8888 | 0
9 | 8888 | 0
を更新したいのですがDEFAULT
、それぞれに1回だけですCODE
。
ID | CODE | DEFAULT
-----+----------+-----------
1 | 1234 | 0
2 | 1234 | 1
3 | 1234 | 0
4 | 5678 | 1
5 | 5678 | 0
6 | 7777 | 1
7 | 8888 | 0
8 | 8888 | 0
9 | 8888 | 1
どちらを更新するかは重要ではありません。それぞれに1つだけ必要ですCODE
。
実際、私はその時だけ考えることができSELECT DISTINCT
、ループを使ってSELECT ... LIMIT 1
、結果があればそれを取りますUPDATE
が、それは本当に汚い解決策です...単一(またはカップル)のクエリで実行できると確信しています..。。
何か案は?