现在的位置: 首页 > 综合 > 正文

MSSQL查询不重复记录

2014年09月05日 ⁄ 综合 ⁄ 共 611字 ⁄ 字号 评论关闭
 

由于设计需要,需要查询不重复的记录值,同类问题,想必大家都遇到过,于是乎马上GOOGLE一下,发现此类问题还挺多,解决方案也不少,仔细看看。
例如有如下表结构和值
table
fid   name sex
1     a      男
2     b      男
3     c      女
4     d      女
5     a      男
6     b      男
方案一:distinct
select distinct name from table
得到结果:
name
a
b
c
d
实现效果,那如果要同时打开其它记录呢?再试试
select distinct name,id from table
测试没什么效果,查下得知,这样实际是要name和id字段都重复才被筛选。继续查找可得如下方法:
方案二:group by
select *, count(distinct name) from table group by nameOracle下测试失败,据说MYSQL下通过,不管,继续思考....
select *, count(distinct name) from table group by name 在MYSQL测试失败

翻翻书,试试
select min(fid),name,sex from table group by name
成功,现实如下结果:
fid   name sex
1     a      男
2     b      男
3     c      女
4     d      女
MYSQL测试,没有效果

抱歉!评论已关闭.