2

我有一个查询:

SELECT * FROM tbl WHERE var IN (v1, v2, v3, v4) LIMIT 1

我希望按照我发送它们的顺序取回他找到的第一个匹配项。例如,如果表有一行 var=v2 和另一行 var=v4,他将返回 var=v2 的行。我知道我当然可以将查询分成许多子查询,但如果有不同的解决方案对此我很感兴趣。

4

1 回答 1

3

尝试,

SELECT * 
FROM tbl 
WHERE var IN (v1, v2, v3, v4) 
Order By Field(var, v1, v2, v3, v4) 
LIMIT 1
于 2012-10-21T12:02:35.707 回答