CREATE TABLE people (id INT PRIMARY KEY, name VARCHAR(32));INSERT INTO people VALUES (1, 'Jonathan Smith'), (2, 'John Smyth'), (3, 'Joan Smithe'), (4, 'Peter Brown');
誰も入力していない綴りで検索し、返ってきたものをランク付けします。
SELECT name, ROUND(trgm_similarity(name, 'Jon Smith'), 3) AS scoreFROM peopleWHERE trgm_similar(name, 'Jon Smith') = 1ORDER BY score DESC;
+----------------+-------+| name | score |+----------------+-------+| Jonathan Smith | 0.562 || Joan Smithe | 0.467 || John Smyth | 0.312 |+----------------+-------+
Peter Brown は共有するトライグラムが少なすぎて 0.3 に届かないため、決して現れません。何が比較されているかを見るには、トライグラムそのものを要求します。