use*_*201 1 mysql sql distinct
我在这里有这个问题 select distinct id, FirstName, LastName
from table
这给我一个人的列表,首先是一些id返回重复,但我过去常常distinct解决这个问题,但我仍然有一个问题,而且有些人是重复的.
是否还要在名字和姓名上加上明显的名称?(有些结果不附带id)
结果(没有明显的ID):
id - 01 - firstname - james - lastname - smith
id - 01 - firstname - james - lastname - smith
id - 02 - firstname - john - lastname - hicks
id - 02 - firstname - john - lastname - hicks
id - - firstname - tom - lastname - nicks
id - - firstname - tom - lastname - nicks
Run Code Online (Sandbox Code Playgroud)
期待:
id - 01 - firstname - james - lastname - smith
id - 02 - firstname - john - lastname - hicks
id - - firstname - tom - lastname - nicks
Run Code Online (Sandbox Code Playgroud)
你有重复,因为你包括id在select:
select distinct FirstName, LastName
from table;
Run Code Online (Sandbox Code Playgroud)
如果您需要id名称,请使用group by:
select min(id) as id, FirstName, LastName
from table
group by FirstName, LastName;
Run Code Online (Sandbox Code Playgroud)
编辑:
如果您仍然在使用这些查询重复,那么您的名称中的字符会丢弃.我将首先修剪前导和尾随空格,看看这是否修复了重复问题:
select min(id) as id, trim(FirstName) as FirstName, trim(LastName) as LastName
from table
group by trim(FirstName), trim(LastName);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6513 次 |
| 最近记录: |