我搜索过并搜索过,找不到这个问题的答案,我可能会以错误的方式提问。
我正在查询员工数据库。
我需要根据位置ID获取详细信息,但是该位置ID可能有多个记录,因为该组织有永久员工和临时员工,他们的职位相同。
因此,为了获得位置id的CURRENT占用者,我需要查询从TOP DOWN中选择匹配位置字符串的FIRST记录。
这将从顶部选择第一个匹配的记录吗?
SELECT * WHERE `position_id`="00000000" LIMIT 1;
提前致谢。
答案 0 :(得分:11)
您需要ORDER BY
子句来定义表格中各个记录之间的顺序。如果您不使用ORDER BY
,则可以假定记录之间没有固定的顺序,并且每次执行查询时都可以获得新的订单。
答案 1 :(得分:3)
从手册:
使用一个参数,该值指定从结果集开头返回的行数
因此,使用LIMIT 1
,您将获得结果集中的第一行。结果集取决于使用的引擎和您拥有的索引。如果要添加第一行,则需要创建另一列来定义它。
答案 2 :(得分:2)
随机获得一个 * 。除非您添加ORDER BY
子句,否则无法分辨它将是什么。
* 当然不是随意的。这取决于记录的存储方式,重复查询每次都可能返回相同的结果,至少只要您不修改表或其内容即可。我的意思是,你不能确定。