我有一个数据表如下。
Name Age
Alex 23
Tom 24
现在我如何只得到最后一行,即。使用select语句在Mysql存储过程中包含“Tom”的行,而不考虑名称和年龄。谢谢。
不考虑姓名和年龄
那是不可能的。只要您不ORDER BY a_column
向查询中添加,结果集中就没有“第一”或“最后”行。你看到的结果有点随机。您可能会一遍又一遍地看到相同的结果,当您执行 1000 次查询时,这可能会发生变化,但是当索引被重写或更多行添加到表中时,查询的执行计划会发生变化。是随机的!
添加ORDER BY
和limit 1
到您的select * from...
SELECT TOP 1 name, age FROM table ORDER BY name desc
或使用ORDER BY
任何您想订购列表的方式订购它。诀窍是,按降序排列,而不是升序排列。
SELECT * from table
ORDER BY Name desc
LIMIT 1;
每个空闲表都应该有名为 INDEX_NO 的 Auto_increment 索引,该索引用于具有最高编号,那么您的表将以这种方式包含项目
INDEX_NO Name Age
1 Alex 23
2 Tom 24
然后你可以使用这个查询,我可以说这很快。
SELECT * from table
ORDER BY INDEX_NO desc
LIMIT 1;