发布
社区首页 >问答首页 >mySQL加入了没有重复的表

mySQL加入了没有重复的表
EN

Stack Overflow用户
提问于 2013-09-29 02:57:29
回答 2查看 98关注 0票数 0

我有两张表:一张表载有各位议员提交的诗歌。另一张是会员的桌子。两个表都包含成员的ID (MID和SubMID)。我想展示最新的15首诗。但是,我只想为任何一个作者展示一部作品。

这是可行的,但是如果作者更新了几部作品,它们就会被多次显示:

代码语言:javascript
代码运行次数:0
复制
SELECT * FROM submits, members
WHERE submits.SubMID = members.MID AND submits.sub_approved = 'T'
ORDER BY submits.sub_Last_Update DESC LIMIT 15

您可以在右边的滚动框中看到查询的结果:http://www.Prose-n-Poetry.com

问题是,一位作者可以通过更新几首诗来取代这一主题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-29 03:11:01

代码语言:javascript
代码运行次数:0
复制
SELECT *
FROM members m
JOIN (SELECT s.*
      FROM submits s
      JOIN (SELECT SubMID, MAX(sub_Last_Update) lastUD
            FROM submits
            WHERE approved = 'T'
            GROUP BY SubMID) l
      ON s.SubMID = l.SubMID AND s.sub_Last_Update = l.lastUD) s
ON m.MID = s.SubMID
ORDER BY s.sub_Last_Update DESC
LIMIT 15
票数 1
EN

Stack Overflow用户

发布于 2013-09-29 03:10:10

编辑:如@Barmar评论,这不会给出每个用户最新提交的列表。

试着按成员分组

代码语言:javascript
代码运行次数:0
复制
$query = "
SELECT
*

FROM
submits, members

WHERE
submits.SubMID = members.MID

AND
submits.sub_approved = 'T'

GROUP BY
submits.SubMID

ORDER BY
submits.sub_Last_Update DESC

LIMIT 15
";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19073942

复制
相关文章

相似问题

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