我想找到与查询匹配的最后一行(即找到匹配行中id最大的行。)
例如,假设以下查询匹配3行。使用id,1,2和3.我想只得到id为3的行。SELECT * FROM `table` WHERE `mail` = 'someone@example.com'
我该怎么做?
答案 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'
);
答案 2 :(得分:1)
只需使用Order By
即可。您使用递减顺序的Id
值对结果进行排序(这样,您将在顶部具有最大ID,在本例中为3),然后仅使用值1限制结果。这将只给出一行,最大ID。所以,
这里是查询:
SELECT * FROM *YourTableName* where mail = '*YourMail*'ORDER BY id DESC LIMIT 1;