由于设计需要,需要查询不重复的记录值,同类问题,想必大家都遇到过,于是乎马上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测试,没有效果 |