服務熱線
153 8323 9821
由于設計需要,需要查詢不重復的記錄值,同類問題,想必大家都遇到過,于是乎馬上GOOGLE一下,發現此類問題還挺多,解決方案也不少,仔細看看。
例如有如下表結構和值
table
fid
1
2
3
4
5
6
方案一: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 name
Oracle下測試失敗,據說MYSQL下通過,不管,繼續思考....
翻翻書,試試
select min(fid),name,sex from table group by name
成功,現實如下結果:
fid
1
2
3
4
繼續思考,如果要打開所有記錄,不指定字段用(*),貌似這方法就不行了!
select
測試成功
fid
1
2
3
4
方案三:
本來已經完了,突然想起前幾天在網上查了查詢數據中所有某字段不重復的記錄
select
得到如下結果:
fid
1
2
5
6
以此類推:
select
按道理說沒問題,大家試試~~
再多的字段都全部現實。哎,原來如此簡單!回顧網上方法distinct,Inner
總結如下:
select distinct name from table打開不重復記錄的單個字段
select
select
上一篇:怎樣去掉活動桌面呢?
下一篇:常見對sql重復記錄操作命令