繁体   English   中英

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

[英]SQL : how to select the last inserted record from a table joined to another

-“新闻”表的字段: id,title,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  

如果您假设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;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM