在MYSQL中使用SELECT DISTINCT

Zan*_*zio 7 mysql sql distinct

一直在做很多搜索,并没有真正找到我的MYSQL问题的答案.

SELECT DISTINCT name, type, state, country FROM table
Run Code Online (Sandbox Code Playgroud)

结果1,795条记录

SELECT DISTINCT name FROM table
Run Code Online (Sandbox Code Playgroud)

结果共有1,504条记录

对于每个重复的"名称"..."类型","州","国家"在每个记录中不匹配.

试图找出如何将相关行选择为DISTINCT名称,而不检查它们是否为DISTINCT

cyp*_*her 17

SELECT name, type, state, country FROM table GROUP BY name;
Run Code Online (Sandbox Code Playgroud)

应该做的伎俩.

  • 对于分组的列,您不需要使用distinct.定义`group by name`总结了具有相同`name`的所有内容.所以每个`name`在结果中都是唯一的 (3认同)
  • 你检查了那个查询吗?IMO需要对不在group by子句中的任何列进行任何形式的聚合. (3认同)
  • @FrantišekŽiačik它返回的内容取决于订购.例如:`GROUP BY name ORDER BY state DESC`将返回该名称具有最高状态的每个唯一名称.即使MySQL违反了SQL标准,我发现这种行为有时非常有用. (2认同)