-- 使用 DISTINCT 关键字去除重复行
SELECT DISTINCT column1, column2, ...
FROM table_name;
-- 示例:从表 `employees` 中获取所有不同的部门名称
SELECT DISTINCT department
FROM employees;
-- 使用 GROUP BY 关键字去除重复行并进行聚合操作
SELECT column1, column2, ..., aggregate_function(column)
FROM table_name
GROUP BY column1, column2, ...;
-- 示例:从表 `orders` 中获取每个客户的订单总数
SELECT customer_id, COUNT(order_id) AS order_count
FROM orders
GROUP BY customer_id;
-- 使用子查询和 ROW_NUMBER() 函数去除重复行(适用于 MySQL 8.0+)
WITH CTE AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY column1, column2 ORDER BY some_column) AS row_num
FROM table_name
)
SELECT *
FROM CTE
WHERE row_num = 1;
-- 示例:从表 `logs` 中删除重复的记录,保留最新的记录
WITH CTE AS (
SELECT *, ROW_NUMBER() OVER (PARTITION BY user_id, action ORDER BY timestamp DESC) AS row_num
FROM logs
)
DELETE FROM logs
WHERE id IN (
SELECT id
FROM CTE
WHERE row_num > 1
);
COUNT
, SUM
等)进行统计分析。上一篇:mysql deadlock
下一篇:mysql 位运算
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站