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);
注意:此時的主查詢語句的表名需要取别名 因為子查詢用的表名和主查詢的表名需要區分
非學,無以緻疑;非問,無以廣識