我需要从表中选择具有特定ID的行,但如果该行不存在,我需要选择第一行。可以在一个查询中完成吗?
例子:
我有一个带有id和文本字段的表。我桌上有三排
id txt
----------------
1 text1
2 text2
3 text3
如果say
SELECT * FROM myTable WHERE id = 4
不存在,我需要选择第一行,否则选择id为4的行。 最佳答案
试试这个:
SELECT * FROM
(SELECT * FROM your_table
WHERE id = your_id
LIMIT 1
UNION
SELECT * FROM your_table
LIMIT 1) a
LIMIT 1
我们的想法是取第一个所需的行并附加到第一行,最后取第一行。如果所需的行不存在,将选择第一行…