当前位置:  开发笔记 > 后端 > 正文

在MySQL查询中使用'distinct'

如何解决《在MySQL查询中使用'distinct'》经验,为你挑选了1个好方法。

我有以下查询.

SELECT p.author_name, p.author_id,
DISTINCT p.topic_id, t.title
FROM `ibf_posts` p, `ibf_topics` t
WHERE p.topic_id = t.tid
ORDER BY pid DESC
LIMIT 8"

当我运行它时,我得到以下MySQL错误:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'DISTINCT p.topic_id, t.title FROM `ibf_posts` p, `ibf_topics` t WHERE p' at line 1

如果我删除DISTINCT关键字,那么查询工作没有问题.

我究竟做错了什么?

该方案来自Invision Power Board帖子和主题表.我想获得最新帖子的最后8个主题的标题.在最新的帖子列表中,我不希望同一主题出现多次.我想要一个独特的标题列表.

table:ibf_posts -pid -author_name -author_id -topic_id

table:ibf_topics -tid -title

tid与topic_id相同



1> David Z..:

它的

SELECT DISTINCT ...

您不能DISTINCT仅指定单个列; 它只适用于保留结果集中的完整重复记录.

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有