我有一个表 [Table]
,其中包含 3 列 [Column1]
、[Column2]
和 [Column3]
.
我的情况是:
WHERE [Column1] LIKE '%q%' OR [Column2] LIKE '%q%' OR [Column3] LIKE '%q%'
它有效,但我想按匹配次数对结果进行排序。
例如
C1 - C2 - C3
q - q - q
q - a - q
q - a - a
最佳答案
在查询中尝试使用此 ORDER BY
子句:
ORDER BY (CASE WHEN [Column1] LIKE '%q%' THEN 1 ELSE 0 END +
CASE WHEN [Column2] LIKE '%q%' THEN 1 ELSE 0 END +
CASE WHEN [Column3] LIKE '%q%' THEN 1 ELSE 0 END) DESC
关于sql - 统计有多少列符合条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8026039/