• mysql查询重复用户最新的一条数据


    mysql使用distinct(关键)+ order by + group 查询成绩表中每个学生时间最近的成绩数据

    sql初始化

    -- --------------------------------------------------------
    -- 主机:                           127.0.0.1
    -- 服务器版本:                        8.0.15 - MySQL Community Server - GPL
    -- 服务器操作系统:                      Win64
    -- HeidiSQL 版本:                  9.5.0.5196
    -- --------------------------------------------------------
    
    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET NAMES utf8 */;
    /*!50503 SET NAMES utf8mb4 */;
    /*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS=0 */;
    /*!40101 SET @OLD_SQL_MODE=@@SQL_MODE, SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
    
    -- 导出  表 test.score 结构
    CREATE TABLE IF NOT EXISTS `score` (
      `score_id` bigint(20) NOT NULL AUTO_INCREMENT,
      `student_name` varchar(32) DEFAULT NULL,
      `course` varchar(30) DEFAULT NULL,
      `score` int(11) DEFAULT NULL,
      `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
      PRIMARY KEY (`score_id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci;
    
    -- 正在导出表  test.score 的数据:~8 rows (大约)
    /*!40000 ALTER TABLE `score` DISABLE KEYS */;
    INSERT INTO `score` (`score_id`, `student_name`, `course`, `score`, `create_time`) VALUES
        (1, '张三', '语文', 66, '2019-07-24 10:35:05'),
        (2, '张三', '数学', 88, '2019-12-24 10:35:05'),
        (3, '张三', '英语', 92, '2019-02-24 10:35:05'),
        (4, '李四', '语文', 95, '2019-06-24 10:35:05'),
        (5, '李四', '数学', 55, '2019-08-24 10:35:05'),
        (6, '李四', '英语', 22, '2019-03-24 10:35:05'),
        (7, '王五', '语文', 99, '2019-06-23 10:35:05'),
        (8, '王五', '数学', 88, '2019-08-24 10:35:05'),
        (9, '王五', '英语', 77, '2019-05-24 10:35:05');
    /*!40000 ALTER TABLE `score` ENABLE KEYS */;
    
    /*!40101 SET SQL_MODE=IFNULL(@OLD_SQL_MODE, '') */;
    /*!40014 SET FOREIGN_KEY_CHECKS=IF(@OLD_FOREIGN_KEY_CHECKS IS NULL, 1, @OLD_FOREIGN_KEY_CHECKS) */;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;

    执行sql

    SELECT
        *
    FROM
        (
            SELECT DISTINCT
                *
            FROM
                score
            ORDER BY
                create_time DESC
        ) s
    GROUP BY
        s.student_name;

    结果展示

    2 张三 数学 88 2019-12-24 10:35:05
    5 李四 数学 55 2019-08-24 10:35:05
    8 王五 数学 88 2019-08-24 10:35:05

  • 相关阅读:
    ueditor 后端配置项没有正常加载,上传插件不能正常使用 UTF8 PHP
    dedecms 后台栏目全部展开 包括三级栏目
    修改DedeCMS图片上传路径命名规则的具体方法步骤
    dedecms织梦副栏目名称和链接调用
    当位于顶级栏目显示下级栏目,当位于二级栏目显示同级栏目,当位于三级目录,显示上级栏目
    织梦多个栏目arclist调用副栏目不显示的解决办法
    PL/SQL连接64位Oracle配置方法
    U盘分区之后如何恢复
    Myeclipse 的使用随笔
    eclipse和myeclipse的差别问题
  • 原文地址:https://www.cnblogs.com/guanxiaohe/p/12092557.html
Copyright © 2020-2023  润新知