首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检索最后一条记录的SQL查询

检索最后一条记录的SQL查询
EN

Stack Overflow用户
提问于 2014-04-24 17:14:38
回答 7查看 85关注 0票数 0

我有一篇与另一个表article_has_type相关的表格文章

项目表的结构是

代码语言:javascript
复制
    CREATE TABLE `articles` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `titre` VARCHAR(255) NULL DEFAULT NULL,
    `description` TEXT NULL,
)

表article_has_type的结构是

代码语言:javascript
复制
CREATE TABLE `arhastypes` (
    `id` INT(11) NOT NULL AUTO_INCREMENT,
    `article_id` INT(11) NULL DEFAULT NULL,
    `type_id` INT(11) NULL DEFAULT NULL,
)

我想把最后一篇文章添加到每种类型中。

谢谢。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2014-04-24 17:21:39

因为id列是AUTO INCREMENT,所以可以这样做:

获取articles中的最后一条记录

代码语言:javascript
复制
SELECT * FROM articles WHERE id=(SELECT MAX(id) FROM articles)

要获取arhastypes中每种类型的最后记录的详细信息:

代码语言:javascript
复制
SELECT * FROM arhastypes WHERE id IN 
            (SELECT MAX(id) FROM arhastypes
             GROUP BY type_id)

编辑:

要从两个表中选择记录,可以这样做:

代码语言:javascript
复制
SELECT ART.id,ART.titre,ART.description,ARH.id as arhastypes_id,ARH.type_id
FROM arhastypes ARH JOIN
     articles ART ON ARH.article_id=ART.id
WHERE ARH.id IN (SELECT MAX(id) FROM arhastypes
                 GROUP BY type_id)
票数 3
EN

Stack Overflow用户

发布于 2014-04-24 17:19:32

在找这个吗?

代码语言:javascript
复制
Select * from articles where id in (select max(id) from articles)
Select * from arhastypes where id in (select max(id) from arhastypes)
票数 1
EN

Stack Overflow用户

发布于 2014-04-24 17:22:51

代码语言:javascript
复制
Select * from articles where id in 
(select max(arhastypes.article_id) from arhastypes where type_id=1)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23275547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档