MySQL:从表中的重复记录中抓取最新的ID

时间:2012-03-08 00:37:41

标签: mysql sql

我正在尝试从表格中的重复记录中获取最新的ID,而不使用时间戳进行检查。

SELECT *
FROM    `table`
WHERE   `title` = "bananas"

-

table
id title
-- -----
1  bananas
2  apples
3  bananas

理想情况下,我想获取ID 3

3 个答案:

答案 0 :(得分:4)

我对你的例子中的SELECT感到有些困惑,但希望你能从我的例子中解决这个问题。

如果要返回最新一行,只需使用MAX()功能

即可
SELECT MAX(id) FROM TABLE

虽然我绝对建议尝试确定是什么使该行成为“最新”。如果它只是因为它具有最高列[id],你可能想要考虑未来会发生什么。如果要组合使用相同数据的两个数据库,该怎么办?离开[id]列可能不是最好的决定。如果可以的话,我建议您设计一个[LastUpdated]或[Added] datestamp列。

答案 1 :(得分:0)

我假设id是自动增量的,

您可以计算您拥有的行数,将其存储在变量中,然后设置WHERE =子句以检查存储您拥有的行数的所述变量。

但这是一个黑客解决方案,因为如果删除一行并且ID没有减少,你最终可能会跳过一个id。

答案 2 :(得分:0)

 select max(a.id) from mydb.myTable a join mydb.myTable b on a.id <> b.id and a.title=b.title;