天天看點

mysql 面試題 查詢出表中某字段的重複值

users 表中有 兩個字段  id 和 name

表資料大概如下:

 id       name

 1       AAA

 2       BBB

 3       CCC

 4       AAA

請寫查詢語句查詢出name字段中重複的值。

這個需要用到子查詢  先查詢出重複字段的值,根據分組統計name字段相同值的 資料條數大于1的就是重複的資料

即  select name from users group by name having count(*) > 1

查到重複的資料 指的是得到了重複資料的 name值  然後再把這個重複值作為條件去查詢

select * from users as a where (a.name) in (select name from users group by name having count(*) > 1);

注意:此時的主查詢語句的表名需要取别名  因為子查詢用的表名和主查詢的表名需要區分

非學,無以緻疑;非問,無以廣識