残念ながら、私の SQL はかなりさびています。私は現在、次のような声明を出しています。
SELECT field1, field2, field3 FROM table_name WHERE
field1 = 'A' OR field2 = 'B' OR field3 = 'C' ORDER BY
CASE WHEN field1 = 'A' THEN 1 ELSE 0 END +
CASE WHEN field2 = 'B' THEN 1 ELSE 0 END +
CASE WHEN field3 = 'C' THEN 1 ELSE 0 END
DESC LIMIT 1;
このクエリは、、、存在field1
、、およびそれぞれの「理想」に最も類似するアイテムを正しく見つけます。ただし、「一致した」フィールドの数も確認できるようにしたいと考えています。すでにその計算を実行しているので、簡単に取得できるはずですが、別のサブクエリがないとどうなるかわかりません。field2
field3
A
B
C
どんな助けでも大歓迎です!