【发布时间】:2015-01-29 18:57:11
【问题描述】:
使用 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
但现在我只想要列 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
但这不起作用。 MySQL 告诉我我的错误接近“DISTINCT”
我试过了:
a.DISTINCT(DISPNAME)
DISTINCT(DISPNAME)
这些都不起作用
我的错误在哪里?有人可以帮忙吗?
【问题讨论】:
-
distinct是 NOT 一个函数。它始终适用于选择列表中的所有列,并且必须紧跟select关键字 -
好的。我为措辞道歉..我会更正标题。你对这个问题有什么见解吗?
-
我指的不是你的标题。我指的是你使用它的方式。它不是一个函数。
distinct (col1), col2没有意义 - 或者至少它与distinct col1, col2相同 -
我尝试将 DISTINCT 作为开头。它执行了一个查询,但它仍然给了我所有的值。
-
再次重申:
distinct是 NOT 函数。它没有传递的“参数”。(没用。