2 加入 MYSQL 和 LIMIT 1

Posted

技术标签:

【中文标题】2 加入 MYSQL 和 LIMIT 1【英文标题】:2 JOINS MYSQL and LIMIT 1 【发布时间】:2012-09-01 11:13:34 【问题描述】:

我有 3 个表,想进行 sql 查询以正确查看它们。

1.) 扎卡兹

id | Comment

2.) 托瓦尔

id  | id_clients | zakaz

3.) 用户

id | name

它们连接为:

zakaz.id = tovar.zakaz
tovar.id_clients = users.id

我想看看

zakaz.id | users.name  

但我只想限制每个 zakaz 1 个字符串,所以我做到了:

SELECT zakaz.id, zakaz.comment, tovar.id_clients
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
GROUP BY zakaz.id

然后我想加入用户,但它不起作用

SELECT zakaz.id, zakaz.comment, tovar.id_clients, users.name
    FROM zakaz
    JOIN tovar ON zakaz.id = tovar.zakaz
    GROUP BY zakaz.id
JOIN users ON users.id = tovar.id_clients

【问题讨论】:

【参考方案1】:

它将在Zakaz上显示最新的id

SELECT  a.name, c.id
FROM    Users a
            INNER JOIN
            (
                SELECT id_clients, zakaz, MAX(id) maxID
                FROM Tovar
                GROUP BY id_clients, zakaz
            ) d 
                ON d.id_clients = a.id
            INNER JOIN Zakaz c
                ON d.zakaz = c.id

【讨论】:

以上是关于2 加入 MYSQL 和 LIMIT 1的主要内容,如果未能解决你的问题,请参考以下文章

MYSQL limit,offset 区别

mysql优化--分页

MySQL---数据库查询详细教程{分页连接查询自关联子查询数据库设计规范}

2 加入 MYSQL 和 LIMIT 1

关于MySQL5.6的limit和offset在命令行执行时出现的问题的记录

MySQL COUNT 与 LIMIT