获取所需行MYSQL的最佳方法
我想写一个查询来检查特定的记录,如果没有找到,它应该返回另一个结果 例如:获取所需行MYSQL的最佳方法,mysql,mysqli,Mysql,Mysqli,我想写一个查询来检查特定的记录,如果没有找到,它应该返回另一个结果 例如: SNO | FIRST_COLUMN | SECOND_COLUMN | STATUS 1 | value1 | value2 | 1 2 | value1 | value2 | 1 3 | value1 | value2 | 0 4 | value1 | value2 | 1 在上面的示例中,查询应
SNO | FIRST_COLUMN | SECOND_COLUMN | STATUS
1 | value1 | value2 | 1
2 | value1 | value2 | 1
3 | value1 | value2 | 0
4 | value1 | value2 | 1
在上面的示例中,查询应返回状态为status
value0
的行。如果值为0
的状态不存在,则应返回值为1
的任何行
如果我的解释不好,请接受我的道歉
提前感谢。使用
按
订购和限制
:
select SNO, FIRST_COLUMN, SECOND_COLUMN, STATUS
from mytable
order by STATUS
limit 1
使用
按
排序和限制
:
select SNO, FIRST_COLUMN, SECOND_COLUMN, STATUS
from mytable
order by STATUS
limit 1
哎呀,我忘了一个简单的把戏。非常感谢@trincot。我还有一个小疑问,我有4行
状态
值为1
,我使用了限制1
,然后它返回第4行而不是第1行。您能解释一下吗?如果order by
中没有关于状态
相等时如何排序的规范,SQL引擎可以自由选择任何顺序。它可以是插入的顺序,您指定的某个索引的顺序。。。可以有很多解释。但是,如果这与应该采取哪种措施有关,那么就在order by
子句中添加其他字段。再次感谢。哎呀,这是一个简单的技巧,我忘了。非常感谢@trincot。我还有一个小疑问,我有4行状态
值为1
,我使用了限制1
,然后它返回第4行而不是第1行。您能解释一下吗?如果order by
中没有关于状态
相等时如何排序的规范,SQL引擎可以自由选择任何顺序。它可以是插入的顺序,您指定的某个索引的顺序。。。可以有很多解释。但是,如果它关系到应该采取哪种措施,那么就在order by
子句中添加其他字段。再次感谢。