Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

mysql 去重

作者:青灯寂焚   发布日期:2025-06-18   浏览:43

-- 使用 DISTINCT 关键字去除重复行
SELECT DISTINCT column1, column2, ...
FROM table_name;

-- 示例:从表 `employees` 中获取所有唯一的部门名称
SELECT DISTINCT department
FROM employees;

-- 使用 GROUP BY 去重并进行聚合操作
SELECT column1, column2, ...
FROM table_name
GROUP BY column1, column2, ...;

-- 示例:从表 `orders` 中获取每个客户的最新订单日期
SELECT customer_id, MAX(order_date)
FROM orders
GROUP BY customer_id;

-- 使用子查询和 ROW_NUMBER() 去重(适用于需要保留特定行的情况)
WITH RankedData AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY column1 ORDER BY column2) as rn
    FROM table_name
)
SELECT *
FROM RankedData
WHERE rn = 1;

-- 示例:从表 `logs` 中获取每个用户的最新登录记录
WITH RankedLogs AS (
    SELECT *, ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY login_time DESC) as rn
    FROM logs
)
SELECT *
FROM RankedLogs
WHERE rn = 1;

解释说明:

  1. DISTINCT 关键字:用于去除查询结果中的重复行,确保返回的结果集中每行都是唯一的。
  2. GROUP BY 子句:不仅可以去重,还可以对分组后的数据进行聚合操作(如求和、计数等)。
  3. ROW_NUMBER() 函数:通过窗口函数为每一组数据分配一个行号,结合子查询可以灵活地选择保留哪些行(例如最新的记录)。

上一篇:mysql 截取字符串

下一篇:docker mysql

大家都在看

mysqlavg函数保留小数

mysql经纬度距离计算

存储过程mysql

mysql with语句

mysql时间加减

brew 启动mysql

unsigned在mysql中是什么意思

mysql 插入更新

mysql.user

python mysql update

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站