2012-01-22 13 views
0

PASSWORDを持つすべての行についてcoins100に、accountsテーブルに設定したいとします。行フィールドが重複していない場合にフィールドを設定します

これはMySQLで可能ですか?

+0

ちょうど私の代わりに役に立たないコメントを書くの答えを与えます。 – Cyclone

+0

私はちょうどあなたに答えを与えました。あなたは「MySQLで可能ですか?」と尋ねました。そうです。あなたはspoonfedコードを要求する前に何かを試してみる必要があります。 – Bojangles

+0

私は試してみました、たくさんの検索をしました。間違った検索語を使ったことがありますが、私は答えを見つけませんでした... – Cyclone

答えて

1

私はこれが仕事だと思う:

UPDATE accounts 
SET coins = 100 
WHERE userid IN (
    SELECT * FROM (
     SELECT userid 
     FROM accounts AS a 
     GROUP BY passwd 
     HAVING COUNT(passwd) = 1 
     ) AS a 
    ) 
; 
1
UPDATE accounts a JOIN 
(SELECT PASSWORD, COUNT(*) as cnt FROM accounts 
    GROUP BY PASSWORD 
    HAVING cnt < 2) singles 
ON a.PASSWORD = singles.PASSWORD 
SET a.coins = 100 
関連する問題