[英]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.