例如有如下表結構和值
table
fid name sex
1
2 b 男
3 c 女
4 d 女
5 a 男
6 b 男
一:distinct
select distinct name from table
結果:
name
a
b
c
d
如果要同時打開其它記錄
二:group by
1.select *, count(distinct name) from table group by name
2.select min(fid),name,sex from table group by name
結果:
fid name sex
1 a 男
2 b 男
3 c 女
4 d 女
如果要打開所有記錄,不指定字段用(*)
select * from table where fid in(Select min(fid) FROM table groupby name)
結果:
fid name sex
1 a 男
2 b 男
3 c 女
4 d 女
三:
查詢數據中所有某字段不重複的記錄
select * from table where name in(select name from table group byname having count(name)=2)
結果:
fid name sex
1 a 男
2 b 男
5 a 男
6 b 男
以此類推:
select * from table where name in(select name from table group byname having count(name)=1)
總結:
select distinct name from table打開不重複記錄的單個字段
select * from table where fid in(Select min(fid) FROM table groupby name)打開不重複記錄的所有字段值
select * from table where name in(select name from table group byname having count(name)=1)打開不重複任意次數的所有記錄