-- 查询表中重复的记录,假设我们要查询表 `my_table` 中 `column_name` 列的重复记录
-- 方法一:使用 GROUP BY 和 HAVING 子句
SELECT column_name, COUNT(*) AS count
FROM my_table
GROUP BY column_name
HAVING count > 1;
-- 解释:
-- 1. SELECT column_name, COUNT(*) AS count: 选择要查询的列和该列出现的次数。
-- 2. FROM my_table: 指定查询的表。
-- 3. GROUP BY column_name: 按照指定列进行分组。
-- 4. HAVING count > 1: 筛选出出现次数大于1的记录。
-- 方法二:使用子查询
SELECT t1.*
FROM my_table t1
JOIN (
SELECT column_name
FROM my_table
GROUP BY column_name
HAVING COUNT(*) > 1
) t2 ON t1.column_name = t2.column_name;
-- 解释:
-- 1. 外层查询选择所有列(t1.*)。
-- 2. 内层查询 (子查询) 找出所有重复的 `column_name` 值。
-- 3. 使用 JOIN 将外层查询与内层查询的结果连接起来,返回所有重复记录的详细信息。
下一篇:mysql 删除表语句
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站