これは私が使用することを考えていたコードの概要です:
CREATE function get_n_chars ( dfrom varchar(9) ) returns varchar(9)
READS SQL DATA
begin
declare d varchar(9);
dfrom REGEXP '^.(...)';
d = $1;
limit 1;
return d;
エラーが発生しても驚かなかったのですが、正しい構文を知っている人はいますか、それとも可能ですか?
ありがとう
上記のコメントごとに:
基本的な問題は、わずかに異なるが同じ会社である会社名を持つテーブルがあることです。例: 「Apple Inc.」、「Apple Computers」、および「Apple Incorporate」。私はこのテーブルをきれいにすることになっています。類似した名前に基づいて重複を見つける必要があります。したがって、3 つの「りんご」はすべて「重複」です。特定した後、データが最も不完全な 2 つの行を削除する必要があります。したがって、これら 3 つの行を ID 番号と共に表示してから、2 つを削除する必要があります。
疑わしい重複をすべて取得するには、次のようにします。
SELECT my_table.* FROM my_table JOIN (
SELECT LEFT(company_name, 4) AS abbr
FROM my_table
GROUP BY abbr
HAVING COUNT(*) > 1
) t ON LEFT(my_table.company_name, 4) = t.abbr
ORDER BY my_table.company_name