私はテーブルを持っています: items(id,description)。私のプログラムでは、単語 (word1 から wordN) のリストを入力として取得し、テーブル内の各説明にそれらの単語がいくつ含まれるかを計算し、その数に基づいて結果を並べ替える必要があります。これが私の解決策ですが、パフォーマンスを改善する方法についての提案を歓迎します。ありがとう。
SELECT x, COUNT(*)
FROM (SELECT description as x, id FROM items where description LIKE '%word1%'
UNION ALL
SELECT description as x, id FROM items where description LIKE '%word2%'
UNION ALL
...
UNION ALL
SELECT description as x, id FROM items where description LIKE '%wordN%')
GROUP BY (id)
ORDER BY COUNT(*) DESC