私はCourseraのDukeによってMySQLクラスを取っています。 2週目には、乱雑なデータへの参照があり、私はここで私の質問をするだろうと思った。私の質問の範囲は、ハイフンで入力されたことを除いて、インスタンスに既に一致するテーブルの行のエントリを比較する方法です。つまり、 "ゴールデンレトリーバーミックス"は "ゴールデンレトリーバー - ミックス"と同じインスタンスです。 DISTINCT SELECT文を実行すると、両方の結果を引き出すことは望ましくありません。キャッチは、 "Golden Retriever-Airedale Terrier Mix"のエントリのように、ハイフンを列フィールドから削除するだけではなりません。これを行うためにクエリがどのように見えるでしょうか。 「ゴールデンレトリーバーミックス」と「ゴールデンレトリーバーミックス」の両方を取得するサンプルコードは以下のとおりです。ハイフネーションされた複製を削除するMySQLクエリ
SELECT DISTINCT breed,
TRIM(LEADING '-' FROM breed)
FROM dogs
ORDER BY (LEADING '-' FROM breed) LIMIT 1000, 1000;
私は私が必要と考え、 IF(REPLACE(breed,'-','') = breed) THEN DELETE breed;
は明らかにこれは私が探しています何で正しい構文ではありませんと言う文のTHEN/IFいます。あなたはほとんどそこにいる
ハイフンを置き換えて同じものが2つ以上ある場合 - どのような種類のものを保持してもかまいませんか? – Bridge