我正在尝试从表格中的重复记录中获取最新的ID,而不使用时间戳进行检查。
SELECT *
FROM `table`
WHERE `title` = "bananas"
-
table
id title
-- -----
1 bananas
2 apples
3 bananas
理想情况下,我想获取ID 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;