distinct:
sql: select * from user
为了对username去重:
sql: select distinct username from user
为了对username去重,并且查询其他字段:
sql: select distinct username, usertype,userpassword from user
问题出现了: distinct 之后还要查询其他字段的时候,distinct 不起作用了
sql: select distinct username, usertype,userpassword from user group by username
sql: select distinct username, usertype,userpassword from user group by userpassword
sql: select distinct username, userpassword from user
分析:
group by username之后确实对username去重了,但是group by userpassword之后只去重了username相同并且userpassword相同的记录,如果没有group by 的话distinct将会对username和userpassword全部相同的进行去重
猜想:
可能在存在distinct的查询语句中,如果想查询distinct之外的其他字段,并且结果中不能有这个字段的相同之,就必须group by与distinct相同的字段