日期:2014-05-19  浏览次数:20521 次

超简单问题,如何从重复的记录中取出唯一的一条记录,或者第一条。
表table如下:
      客户名               电话
      张三                   888
      张三                   999
      张三                   111
      李四                   123
      李四                   456
      王二                   110
      王二                   119
      王二                   138
      王二                   124

像这样一个客户电话记录,现在我要取出每个客户的一个电话就OK(随便取一个,也可以取第一个)不取所有,我想得到以下表,如何写语句:
      客户名               电话
      张三                   888
      李四                   123
      王二                   110


------解决方案--------------------
select 客户名,max(电话) as 电话
from 客户表
group by 客户名
------解决方案--------------------
像这样一个客户电话记录,现在我要取出每个客户的一个电话就OK(随便取一个,也可以取第一个)

-------------

那寫法太多了

select 客户名 , min(电话)as 电话 from t group by 客户名

or
select 客户名 , max(电话)as 电话 from t group by 客户名

or

select * from t a
where not exists(select 1 from t where a.客户名=客户名 and 电话 <a.电话)

還有,...