mysql不同的行或不同的字段



这之间是否存在性能或其他区别:

SELECT distinct(users.id),2 as someFieldName ,0 as someOtherFieldName
From users join ...

和此:

SELECT distinct users.id ,2 as someFieldName ,0 as someOtherFieldName
From users join ...

结果集被用作插入语句的一部分,因此,由于JOIN(未显示此处显示),SELECT可能会多个时间返回同一用户I.D

我正在使用mysql。

没有"不同的字段"之类的东西。您的第一个语法与第二个语法相同:括号仅围绕着场表达式。您也可以写:

SELECT DISTINCT (users.id), (2) AS someFieldName, (0) AS someOtherFieldName

它们都是等效的。

如果要避免在常数列上进行比较,则可以使用GROUP BY

SELECT   users.id, 2 AS someFieldName, 0 AS someOtherFieldName
FROM     users JOIN ...
GROUP BY users.id

在此上下文中DISTINCT没有区别仅在行上工作。

从选择文档

全部和独特的选项指定重复行是否应为 回。所有(默认)指定所有匹配行应该是 返回,包括重复。独特的指定删除 从结果集中重复行。指定两者都是错误 选项。Distinctrow是独特的同义词。

最新更新