MySQL 链接表获取插入的最后一行 table.value = X

标签 mysql sql

我目前有一个表 project(id) 和一个表 project_step (id, project,step(integer))。

1 个项目链接到 1 个或多个 project_step。

我想获得一个项目列表,其中最后输入的 project_step (project_step.id DESC) 有一个 step = X。

我需要在子查询中执行此操作,但我不知道如何编写。

最佳答案

此查询将返回两个表中的所有列。额外子查询的目的是为表 project_step 上的每个 project 分别获取最新的 ID

SELECT  a.*, b.*
FROM    project a
        INNER JOIN project_step b
            ON a.ID = b.project
        INNER JOIN
        (
            SELECT  project, MAX(ID) ID
            FROM    project_step
            GROUP   BY project
        ) c ON b.project = c.project AND
                b.ID = c.ID
WHERE   b.step = ?

关于MySQL 链接表获取插入的最后一行 table.value = X,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17596489/

相关文章:

php - 需要在 php 脚本中编写一个 mySQL 查询,它将随着每次提交 session 中用户输入的变化而自动变化

php - $_PHP_SELF常量

MYSQL - 无法正确加入 Group By 2 Columns

c# - 在表单中输入的数据不会插入到数据表中

mysql - 带有 `/bin/bash -c` 运行 mysql 守护进程的 Docker

c# - 更改行时 SQL 查询不更新表

php - MySQL Join - 引用三个以上的表并获取与主表匹配的值

mysql - SQLZoo 中 SQL Join #13 的解决方案

sql - 如何在数据库中搜索特定字段

iOS Swift 和外部 SQL 数据库