SQL:如何从连接到另一个表的表中选择最后插入的记录

时间:2016-11-07 09:14:52

标签: mysql sql

  

- 表“新闻”的字段:id,title,category

     

注意:字段“category”是与表类别

相关的外键      

- 表“类别”的字段:id,title

我需要将“新闻”加入“类别”并获取每个类别的最后插入新闻

示例:

表新闻

id-----title-----category  
1-----title1-----3  
2-----title2-----3  
3-----title3-----5  
4-----title4-----5  

表类别

id-----title  
3------cat3  
5------cat5  

结果应为:

id-----title-----category  
2-----title2-----cat3  
4-----title4-----cat5  

1 个答案:

答案 0 :(得分:0)

如果您假设id将始终以新项目递增,则此查询应该是安全的。然后依赖于该字段来执行一个不适合它的函数,以及是否有一个insert_date字段可能更优越。

Select news.id, news.title, category.title as category
  From news
  Inner Join (Select Max(id) as id From news Group By category) As latest 
     On latest.id = news.id
  Inner Join category On news.category = category.id;