查找与查询匹配的最后一个插入行

时间:2015-02-20 06:15:14

标签: mysql sql

我想找到与查询匹配的最后一行(即找到匹配行中id最大的行。)

例如,假设以下查询匹配3行。使用id,1,2和3.我想只得到id为3的行。

SELECT * FROM `table` WHERE `mail` = 'someone@example.com'

我该怎么做?

3 个答案:

答案 0 :(得分:1)

你需要像这样编写你的查询

SELECT * 
FROM table_name
WHERE `mail` = 'someone@example.com'
ORDER BY id DESC
LIMIT 1

答案 1 :(得分:1)

<强>查询

SELECT * FROM tbl
WHERE `mail` = 'someone@example.com'
AND id=
(
    SELECT MAX(id) FROM tbl 
    WHERE `mail` = 'someone@example.com'
);

Fiddle demo

答案 2 :(得分:1)

只需使用Order By即可。您使用递减顺序的Id值对结果进行排序(这样,您将在顶部具有最大ID,在本例中为3),然后仅使用值1限制结果。这将只给出一行,最大ID。所以,

这里是查询:

SELECT * FROM *YourTableName* where mail = '*YourMail*'ORDER BY id DESC LIMIT 1;