sql查询每组数据中时间最大的一条

news2025/1/19 17:16:25

sql查询每组数据中时间最大的一条

  • 前言
  • 代码
  • 总结

前言

先来了解一下业务需求。博主好久没写过后端了,这一写就直接碰到我知识盲区了
在这里插入图片描述
我们简单还原一下,这里使用一个表模拟下
表的字段如下
在这里插入图片描述
表的内容如下,我们的需求就是取出相同name的数据中时间最新的一条。
在这里插入图片描述
不知道大家首先会想到什么,我第一想到的是使用group,当时认为分组不就是group吗,害,easy
在这里插入图片描述
然后我就开始了尝试,结果。。。。。
在这里插入图片描述
好像不是这么回事呀。。。。然后开始我的错误解决之路。。。。

就在我想要放弃的时候,我突然脑子清醒了,开始仔细思考这个需求,不就是把每个名字和最新的时间拿出来,然后再根据名字和最新时间直接查,不就是最新记录了吗?

那来看看具体咋弄吧。

代码

首先第一步,找出每一个name对应的最新时间

select name, max(dtime) from test group by name;

+------+---------------------+
| name | max(dtime)          |
+------+---------------------+
| xw   | 2023-05-22 20:01:43 |
| ll   | 2023-05-26 20:01:54 |
| oo   | 2023-05-03 20:01:56 |
+------+---------------------+

而后我们只需要将上面查询的数据和表中的数据进行左连接即可

select t2.* from (select t.name, max(t.dtime) dtime from test t group by name) t1 left join test t2 on t1.name=t2.name and t1.dtime=t2.dtime;

+----+------+---------------------+------+
| id | name | dtime               | info |
+----+------+---------------------+------+
|  2 | xw   | 2023-05-22 20:01:43 | 5-22 |
|  5 | ll   | 2023-05-26 20:01:54 | 5-26 |
|  6 | oo   | 2023-05-03 20:01:56 | 5-03 |
+----+------+---------------------+------+
3 rows in set (0.07 sec)

然后就ok了

总结

其实挺简单的,就是自己脑子抽了,没想起来,特来记录下。

顺便请教下大佬们,有没有效率更高的方法,方便的话评论区交流下吧。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/556293.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

五、AOP(1)

一、AOP基本概念 1.什么是AOP 面向切面编程(方面),利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性,同时提高了开发的效率。不通过修改源代码方式添…

章节1:Burp Suite基本介绍

章节1:Burp Suite基本介绍 Burp [bɜ:p] Suite [swiːt] 01 Burp Suite基本介绍 官网介绍 https://portswigger.net/ 主要产品 Burp Suite培训和认证(Academy)研究院(Research)日报(Daily)…

win10下annoconda安装及更改镜像源,加速软件下载速度

1 annoconda下载 文件地址,选择版本下载https://repo.anaconda.com/archive/ 如下在win10版本: https://repo.anaconda.com/archive/Anaconda3-2023.03-1-Windows-x86_64.exe 完成后根据向导安装。 2 清空镜像源,回到初始状态…

QT之动态加载下拉框(QComboBox)

QT之动态加载下拉框(QComboBox) 简介效果原理分析实现 简介 这两天遇到一个需求,需要下拉选项中动态加载一些数据,实现之后感觉挺有意思,特此记录一下。 效果 还是先看下效果,源码也放在文末了 原理分…

图形学中的抗锯齿讨论以及在unity中的应用

抗锯齿(Anti-Aliasing)是图形学中,很重要的一个部分。本文旨在做一些分析总结,并对平时不理解的细节,做了调研总结,但毕竟不是做GPU行家,所以有不对的地方,欢迎拍砖^^。 1 什么是锯齿 下图,是…

Linux 防火墙 Firewalld

firewalld概述 firewalld防火墙是Centos7系统默认的防火墙管理工具,取代了之前的iptables防火墙,也是工作在网络层,属于包过滤防火墙。 firewalld和iptables都是用来管理防火墙的工具(属于用户态)来定义防火墙的各种规…

《C++primer》5~6章总结

《CPrimer》 语句函数 语句 if else 就C而言,规定else与离它最近的尚未匹配的if匹配,从而消除程序的二义性,所以最好的处理方法就是养成习惯在if else 后面加一个花括号swirch搭配case关键字使用,case关键字和它对应的值一起被称…

PCB~地平面

地平面的特征 • 在同一块板子上,无线数字信号经常会有较高的数字逻辑,例如高增益的RF电路 • 屏蔽和接地对于接收端的设计是非常有效的 – 辐射在源端就应该被屏蔽掉 – 地平面电流应该回到源端 – 电源电流会通过最小电阻和电感路径回到源端 • 至少有…

Git的项目管理工具的使用

Git的项目管理工具的使用 为什么学习Git软件? 主流开发中,基于互联网的开发项目都会使用git进行资源管理 资源管理:人力资源 ​ 代码资源 : .java .c . js 等 ​ 文档资源 : doc.md ,pdf 等 git是最常用的scm软件(Soft…

Vivado综合属性系列之九 CLOCK_BUFFER_TYPE

目录 一、前言 二、CLOCK_BUFFER_TYPE ​ ​2.1 属性说明 ​ ​2.2 工程代码 ​ ​2.3 结果 一、前言 ​ ​在设计中,对于时钟端口驱动时钟单元时,工具会自动综合出全局时钟BUFG连接时钟源和时钟负载。当存在全局时钟BUFG不足或者因为某些…

3512. 最短距离总和

Powered by:NEFU AB-IN Link 文章目录 3512. 最短距离总和题意思路代码 3512. 最短距离总和 题意 给定一张带权无向完全图,设点的编号为 1,2,3,4,5…n(以邻接矩阵的形式给出)。 计算依次拿走第 i个点后,剩余所有点到其他点的最短…

从零开始Vue3+Element Plus后台管理系统(十二)——封装Axios,取消重复请求

在过往的项目中,大部分Axios在项目搭建时就直接二次封装好了,拿来即用。满足通用需求是没有问题的,但碰到一些特别的接口返回,弱网场景,特别的产品需求,就觉得简单的封装不够用了。 实际上Axios非常强大&a…

在Windows上安装Docker与k8s,完美亲测!

一、软件准备 1、去Docker官网下载Docker Desktop,并一键安装 2、下载k8s-for-docker-desktop包 git clone https://github.com/AliyunContainerService/k8s-for-docker-desktop.git二、镜像源配置 配置docker的国内镜像,国外的网络下载可能比较慢 { …

在线考试系统设计

一.项目概述 使⽤⽬前较为流⾏的技术栈开发的⼀款界⾯设计友好、部署操作简单、代码层次结构清晰、⼆次开发上⼿便捷的在线考试平台。系统分为管理端和考⽣端,管理端集成了用户管理、⻆⾊管理、部⻔管理、菜单管理、数据字典、系统⽇志、定时任务、中间件…

软件设计师 试题三

问题一:补充用例图,他就是参与者(左边文章里的)与用例(用户的行为)之间的关系,比如用户执行某些事情 一个句号一个功能 。找参与者做的事行为 。或者就是根据参与者对面提供的信息去文中找相关…

【Linux初阶】进程替换的应用 - 简易命令行解释器的实现

🌟hello,各位读者大大们你们好呀🌟 🍭🍭系列专栏:【Linux初阶】 ✒️✒️本篇内容:使用代码手段实现一个简易的命令行解释器,其中功能包括:打印输出提示符、获取用户输入…

实验11 人工神经网络(2)

1. 实验目的 ①掌握梯度下降法的优化算法; ②能够使用tf.keras构建Sequential模型,完成多分类任务。 2. 实验内容 ①下载MNIST数据集,建立神经网络模型,实现对MNIST手写数字数据集的识别,调整超参数和训练参数&…

wps js宏编辑器案例3-工作簿和工作表操作

本文通过一个连锁门店每天营业额按门店名称进行拆分的案例,讲述wps js宏编辑器中工作簿、工作表和Range的相关操作,比如:工作表的复制,工作簿另存&关闭,Range.findNext使用注意实现等,案例已上传到gite…

Android学习专题】java基本概念及日常问题处理(学习记录)

java程序的入口函数 java入口函数只有一种,而且必须以main命名,且以public static进行修饰。 入口(Entry of Program):指程序运行的起点。 只有main方法可以作为程序的入口。 main方法结构:public static void main(String[] arg…

Meaning of life: The patch of life

这世界上每一个人都不是完美的,生活也是如此,一场电影、一次旅行、一把游戏、一次畅谈都是生命的"补丁", 生活总有不顺心的时候,但我们也要继续前行。 The patch of life Not long ago, My daughters frosting shoes w…