代码之家  ›  专栏  ›  技术社区  ›  user58670

在MySQL查询中使用“distinct”

  •  0
  • user58670  · 技术社区  · 16 年前

    我有以下疑问。

    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电源板帖子和主题表。我试图得到最近8个主题的标题,其中有最新的帖子。在最新的热门文章列表中,我不希望同一主题出现多次。我想要一个唯一的标题列表。

    -pid控制 -作者姓名 -作者id -主题id

    表:ibf U主题 -每日三次

    tid与主题id相同

    2 回复  |  直到 6 年前
        1
  •  7
  •   David Z    16 年前

    它是

    SELECT DISTINCT ...
    

    DISTINCT 仅适用于单个列;它只适用于在结果集中保留完整的重复记录。

        2
  •  0
  •   Grant Limberg    16 年前