转:http://www.dewen.net.cn/q/2147
http://www.jb51.net/article/39255.htm
不是出问题了,而是distinct机制就是则这样的,只有作用的几个列元素分别相同才认为是同一个记录。distinct后面跟几个字段,他就作用于几个字段。
#select *from userinfo;
#test 女 32
#test 男 32
#test 男 32
#test 男 33
#select username,count(age),count(distinct(age)) from userinfo group by username,sex;
select count(distinct username) from userinfo;
select count(*) from (select username from userinfo group by username) as a;
insert ignore into userinfo;
如果列 a 为 主键 或 拥有UNIQUE索引,并且包含值1,则以下两个语句具有相同的效果:
INSERT INTO TABLE (a,c) VALUES (1,3) ON DUPLICATE KEY UPDATE c=c+1;
UPDATE TABLE SET c=c+1 WHERE a=1;