mysql查询每个用户的第一条记录_mysql怎么创建用户

mysql查询每个用户的第一条记录_mysql怎么创建用户数据库记录:MYSQL查询不同用户最新的一条记录方法1:查询出结果后将时间排序后取第一条(只能取到一条,并且不能查询不同客户的记录)SELECTCUSTOMER_ID,CONTENT,MODIFY_TIMEFROM`service_records`ORDERBYMODIFY_TIMEDESCLIMIT1;查询结果:方法2:查询排序后groupby(先按照MODIFY_TI…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

数据库记录:

7d1936776f32c2ffef31a0db60195e95.png

MYSQL查询不同用户 最新的一条记录

方法1:查询出结果后将时间排序后取第一条(只能取到一条,并且不能查询不同客户的记录)

SELECT CUSTOMER_ID,CONTENT,MODIFY_TIME FROM `service_records` ORDER BY MODIFY_TIME DESC LIMIT 1;

查询结果:

c42eda20f3b8fd7db5a5c1f159cc291a.png

方法2:查询排序后group by(先按照MODIFY_TIME把顺序按照降序排列好,排列好的值作为子查询a,然后再根据子查询a按照CUSTOMER_ID分组)

SELECT CUSTOMER_ID,CONTENT,MODIFY_TIME FROM

(SELECT CUSTOMER_ID,CONTENT,MODIFY_TIME FROM `service_records` ORDER BY MODIFY_TIME DESC) a

GROUP BY a.CUSTOMER_ID

查询结果为:

a1e17a889e1669a876199d5c5f9a7f95.png

group by 可以根据group by 的参数列分组,但返回的结果只有一条,仔细观察发现group by是将分组后的第一条记录返回。时间在查询后默认是顺序排列,因此需要先将时间倒序排列,方可取出距离当前最近一条。这样查询实际上还是进行了两次查询。

方法三:将max() 方法和group by结合使用

SELECT CUSTOMER_ID,CONTENT,MAX(MODIFY_TIME) FROM `service_records` GROUP BY CUSTOMER_ID

查询结果为:

7494ab557b215d51f7ed9cfc73631f17.png

和方法二对比发现,该写法是错误的,虽然MODIFY_TIME取的值是最大值,是正确的,但是其他的值取的都是在不同的CUSTOMER_ID下的第一条记录,所以MODIFY_TIME列的值和其他列的值不匹配,不是同一条记录。。。所以正确的写法是第二种,先正确的排好序,然后再利用group by 分组

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/196102.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 支持向量机原理与实现的区别_支持向量机实例

    支持向量机原理与实现的区别_支持向量机实例一、模型机器学习中我们最开始接触的都是感知机,感知机就是一个阶跃函数,阶跃函数的自变量是一个多元线性函数,costfunction则是。而支持向量与感知机类似,只是将阶跃函数挖去(-1到1这个区间),要使两个平行的超平面间间隔最大,只需w二范数最小即可。约束条件是.关于约束条件的理解,取等号时刚好在支持向量上,不取等号时说明在平面的对应的一侧。理解了问题的本质,现在就是怎么用数学去解决这…

    2022年10月21日
    6
  • Unity | Cinemachine FreeLook Camera「建议收藏」

    Unity | Cinemachine FreeLook Camera「建议收藏」FreeLookCamera是可以基于第三人称视角进行自由观察的虚拟相机。如下图所示,自由视角相机有上中下三个红圈,我们可以通过修改CinemachineFreeLook组件中的值来修改红圈的高度及大小。三个红圈由一个纵向的红线相连。通过改变YAxis及XAxis的Value可以修改虚拟相机的视角。 SplineCurvature决定纵向的紧绷状态。 TopRig、MiddleRig、BottomRig即三个红圈的属性。在CinemachineFreeL…

    2022年5月28日
    167
  • PID控制学习–原理(一)

    PID控制学习–原理(一)目录一、PID控制原理与程序流程1、过程控制2、PID调节各个单元的作用二、数字PID控制器1、模拟PID控制规律的离散化2、数字PID控制器的差分方程3、常见的控制方式4、PID算法的两种形式三、PID算法的程序流程1、增量型PID算法的程序流程2、位置型PID控制的程序流程3、程序流程四、标准PID算法的改进1、微分项的改进2、微分线…

    2022年6月2日
    37
  • VMware中的ubuntu虚拟机开机黑屏,无法打开桌面

    昨天因为在虚拟机中搭环境,崩了,可能是因为脚本错误什么的原因,或者误删除了什么东西的原因,导致,虚拟机重启之后一直处于黑屏状态。如下图:然后百度了很多解决方法,都不成功,后来有大佬指点用快照恢复,但是,我发现一个残酷的事实,我之前没有使用过快照,所以不可行,所以只好重装了。信任IT界名言“没有什么是重装系统解决不了的”。可能只是我的这个不行,但是整理了一下网上的方法,码文,纪念一下…

    2022年4月6日
    1.1K
  • 常量池(运行时常量池 静态常量池)「建议收藏」

    常量池(运行时常量池 静态常量池)「建议收藏」深入浅出java常量池理论jvm虚拟内存分布:程序计数器是jvm执行程序的流水线,存放一些跳转指令。本地方法栈是jvm调用操作系统方法所使用的栈。虚拟机栈是jvm执行java代码所使用的栈。方法区存放了一些常量、静态变量、类信息等,可以理解成class文件在内存中的存放位置。虚…

    2025年9月6日
    6
  • 白盒测试的测试用例设计方法

    白盒测试的测试用例设计方法一白盒测试的主要技术对简单的程序流程而言,确定程序的路径有多少条可通过:语句覆盖(覆盖率100%);分支(判定)覆盖(覆盖率85%);条件覆盖;分支-条件覆盖;条件组合覆盖;路径覆盖(覆盖率80%)来确定,这也是白盒测试的主要技术。1.1语句覆盖(覆盖率100%)使程序中每个语句至少执行一次1.2分支(判定)覆盖(覆盖率85%)使每个判定的真假分支都至少执行一次1.3条件…

    2022年10月12日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号