1
不幸的是,我的SQL非常生疏。我现在有一个说法是这样的:在ORDER BY语句中计算CASE
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
的“理想”。但是,我也希望能够找到“匹配”字段的数量。看起来我应该能够很容易地得到它,因为我已经在执行该计算,但是我不确定没有另一个子查询。
任何帮助将不胜感激!
我一直在寻找的正是这样!感谢代码和演示。 – JacobEvelyn
不用等几分钟,我不会让我接受它,对不起。我最初的问题:是否有一种简单的方法可以将查询结果限制为match_count'>某个阈值,而不输出'match_count'? – JacobEvelyn
我想我可以再次执行'CASE'并将它放在'AND'子句中。 – JacobEvelyn