• mysql 实现去重


    个人网站
    首发于公众号小肖学数据分析
    1、试题描述

    数据表user_test如下,请你查询所有投递用户user_id并且进行去重展示,查询结果和返回顺序如下

    查询结果和返回顺序如下所示

    解题思路:

       (1)   对user_id列直接去重:

    (2)去重方式distinct或者是group by

    (3)需要对结果进行排序 利用order by

    1. drop table if exists user_test;
    2. CREATE TABLE `user_test` (
    3. `user_id` int NOT NULL,
    4. `job_id` int NOT NULL,
    5. `device_id` varchar(14) NOT NULL,
    6. `job_salary` varchar(32) ,
    7. `deliver_date` date NOT NULL);
    8. INSERT INTO user_test VALUES(101,14550, 'app','838900', '2020-03-01');
    9. INSERT INTO user_test VALUES(102,14550, 'pc','67356','2021-07-07');
    10. INSERT INTO user_test VALUES(103,23654, 'pc',null, '2021-04-09');
    11. INSERT INTO user_test VALUES(102,23152, 'app','297032','2022-03-17');
    12. INSERT INTO user_test VALUES(105,75432, 'pc','156770', '2006-08-15');
    13. select * from user_test;
    14. select distinct user_id from user_test;
    15. order by user_id
    16. select user_id from user_test
    17. group by user_id
    18. order by user_id
    2、DISTINCT和GROUP BY作用和用法

    MySQL中的DISTINCT和GROUP BY是两个常用的SQL语句,它们的作用和用法如下:

    (1)DISTINCT:用于从表中返回唯一的不同值。它可以消除结果集中的重复行。基本语法如下:
    SELECT DISTINCT 列名1, 列名2, ...<br>FROM 表名<br>WHERE 条件;

    例如,从一个名为students的表中查询所有不同的性别:

    SELECT DISTINCT gender<br>FROM students;
    (2)GROUP BY:用于将具有相同值的行组合在一起,以便对每个组执行聚合函数(如COUNT、SUM、AVG等)。基本语法如下:
    1. SELECT
    2. 列名1,
    3. 列名2,
    4. ...,
    5. aggregate_function(列名)<br>
    6. FROM 表名<br>
    7. WHERE 条件<br>
    8. GROUP BY 列名1, 列名2, ...;

    例如,从一个名为orders的表中按产品类别分组并计算每个类别的总销售额:

    1. SELECT product_category, SUM(price * quantity) as total_sales
    2. FROM orders
    3. GROUP BY product_category;

    公众号回复加油即可获取PDF版本

  • 相关阅读:
    7 SpringBoot与Elasticsearch
    4.2 x64dbg 针对PE文件的扫描
    Triton部署mmdeploy导出的TensorRT模型失败篇
    NFC协议概述
    负数取余问题
    TCP通信测试
    法学行政法论文选题有哪些?
    Hive的JDBC操作
    高效一键改写文章,智能伪原创工具轻松搞定
    GO 抽象工厂模式设计
  • 原文地址:https://blog.csdn.net/qq_41387939/article/details/134489962