MySQL DISTINCT函数不起作用

San*_*nya 4 mysql unique distinct

使用MySQL.以下SQL语句完美地运行:

SELECT a.ID, a.DISPNAME, a.UNIT_TYPE, a.MODELNUM, a.DESCRIP, a.DATE_ADDED, b.TYP, c.FIRSTNAME, c.LASTNAME FROM jobs_engineering a INNER JOIN unit_types b ON a.UNIT_TYPE=b.ID INNER JOIN users c ON a.AEID=c.USERID ORDER BY a.DATE_ADDED DESC
Run Code Online (Sandbox Code Playgroud)

但是现在我只想要列的唯一记录,DISPNAME因为该列有多个重复值.我添加了DISTINCT方法

SELECT a.ID, DISTINCT(a.DISPNAME), a.UNIT_TYPE, a.MODELNUM, a.DESCRIP, a.DATE_ADDED, b.TYP, c.FIRSTNAME, c.LASTNAME FROM jobs_engineering a INNER JOIN unit_types b ON a.UNIT_TYPE=b.ID INNER JOIN users c ON a.AEID=c.USERID ORDER BY a.DATE_ADDED DESC
Run Code Online (Sandbox Code Playgroud)

但这不起作用.MySQL告诉我我的错误在"DISTINCT"附近

我试过了:

 a.DISTINCT(DISPNAME)
 DISTINCT(DISPNAME)
Run Code Online (Sandbox Code Playgroud)

这些都不起作用

我的错误在哪里?有人可以帮忙吗?

Eug*_*eck 10

DISTINCT不是函数,而是查询装饰器.这意味着,如果您希望查询压缩所有重复项SELECT DISTINCT,SELECT则使用而不是.

现在重要的部分是,如果(并且当)所有列具有相同的值,则行是另一行的副本.

您想要实现的目标通常也可以解决

  • 与a GROUP BY相关的列和拟合聚合函数
  • 有一个子查询有一个 LIMIT 1