繁体   English   中英

MySQL查询不同+多个

[英]Mysql query distinct + multiple

我想做这个查询:

SELECT * 
   FROM user k
   INNER JOIN (
      SELECT id, tagName, b.guid, name, owner, publicKey
         FROM noteTags a
         INNER JOIN (
            SELECT * 
            FROM note
            ORDER BY guid
            LIMIT 0 , 12
         )b ON a.guid = b.guid ORDER BY b.id DESC
   )l ON k.owner = l.owner

但是我希望它返回DISTINCT b.guids。

表的结构:

note
|
|=id
|=name
|=guid
|=owner
|=publicKey

noteTags
|
|=guid
|=tagName

user
|
|=owner
|=username
|=auth

基本上,我想选择所有数据(对更深的内部联接有限制)并返回DISTINCT引导

谢谢!

这是我最初的答案,

SELECT  *
FROM    note a
        INNER JOIN user b
            ON a.owner = b.owner
        INNER JOIN notetags c
            ON a.guid = b.guid
        INNER JOIN
        (
            SELECT guid, MAX(tagName) maxTag
            FROM notetags
            GROUP BY guid
        ) d ON c.guid = d.guid AND
                c.tagName = d.maxTag

怎么样:

选择 *
来自用户k
内部联接 (
SELECT id,tagName,b.guid,名称,所有者,publicKey
FROM noteTags一个
内部联接 (
选择id,名称,MIN(guid)作为guid,所有者,publicKey
从笔记
按向导分组
LIMIT 0,12)b on a.guid = b.guid ORDER BY b.id DESC
)l ON k.owner = l.owner

暂无
暂无

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

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