mysql使用ORDER BY和GROUP BY
发表于|更新于
|浏览量:
今天写代码时遇到一个需求是这样的:
取表内最新的一条数据,根据用户名分组
本来以为又是那种
需求,然后就开始写sql,写完一运行,报错。。。
然后发现GROUP BY必须放在ORDER BY的前面
但这样又会导致不能取最新的一条数据
于是用了一个“子查询”的办法解决
1 | <select id="cowBeer" resultType="map" parameterType="map"> |
相关推荐
2022-01-24
TTL的CRR操作
要有最朴素的梦想,即使明天天寒地冻,路远马亡。——海子 前段时间遇到的TTL(TransmittableThreadLocal)在异步编程中的上下文丢失问题,我是采用了直接更换线程池的方式 但今天抽空看了下官方文档,发现了: 所有TTL值的抓取、回放和恢复方法(即CRR操作) CRR:capture(快照)、replay(回放)、restore(备份) 自己简单写了个测试用例,用于在CompletableFuture和并行流场景下解决ThreadLocal的上下文丢失问题 大伙一定要复制到本地跑一下,需要的GAV是这个: 12345<dependency> <groupId>com.alibaba</groupId> <artifactId>transmittable-thread-local</artifactId> <version>2.12.4</version></dependency> 代码: 12345678910111213141516171819...
2020-12-04
解决lambda中必须为final的方式
一个真正而且热切地工作的人总是有希望的——只有怠惰才是永恒的绝望。——卡莱尔 在开发中使用lambda经常出现一个问题 编译提示我们lambda中使用的变量必须为final或者effectively final 1234567891011int i = 2;BigDecimal j = BigDecimal.ZERO;j = BigDecimal.TEN;List<String> stringList = mpUserMapper.selectList(Wrappers.lambdaQuery()).stream().map(UserDataObject::getUsername).collect(Collectors.toList());stringList = stringList.stream().distinct().collect(Collectors.toList());List<String> strings = new ArrayList<>(10);strings.stream().peek(s -> {...
2024-04-28
安卓阴影实现
除了实践以外,没有别的办法可以识别错误。——狄德罗 首先网上找了一圈方案,要么是用UI切图的方式,要么是说用背景或者自带的阴影,这篇文章也说了 阴影组件化,解决安卓不统一问题 - 掘金 UI切图/制作点9图的方式: 这种方式应该是完美还原蓝湖设计图的方式,但不是从技术角度实现 下面还有几个 1. elevation(组件属性) 优点:绘制效率高,使用自带的api不用添加多余的drawable文件,并且支持 translationZ 动画方便实现点击的动画效果;不占位 缺点:低版本不显示,方向颜色不可控,自带的属性设置参数有限; 注意:View要带透明度,否则是没有效果; 2. CardView(组件自带) 优点:CardView是自带阴影的是Materail设计的组件,效率高;不占位 缺点:阴影方向颜色不可控; 注意:CardView模拟的光源在屏幕中心正上方阴影显示角度会有所差异; 3. Shape(作为背景绘制所以会占位,它的绘制原理是一层层的由深到浅的形状作为阴影) 优点:颜色方向可控制;占位 缺点:没有模糊效果阴影不自然有点生硬(较弱的阴影不太容易看出来)...
2022-08-25
聊聊lambda
不速之客只在告辞以后才最受欢迎——莎士比亚 公众号链接:https://mp.weixin.qq.com/s/MFXRBr16LuGn6G2rlOFFEw 简介今天主要聊聊java中的lambda 距离我加入hutool-commiter已经有一段时间了,想起曾经封装过的一个类Opt,就是使用lambda,按照惯例,先介绍下dromara组织下的项目hutool Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 这个类Opt的灵感来源是对jdk内置的java.util.Optional的拓展,在一些细节方面进了了简化处理 下面主要是通过其介绍lambda的使用 快速上手依靠idea编译器的提示进行快速上手 下方是判断user是否为空,不为空通过User#getSchool()获取学校名的操作 例如此处我写到这里 1234User user = new User();// idea提示下方参数,如果没显示,光标放到括号里按ctrl+p主动呼出 ...
2021-01-01
postman导出api文档
理解生活而且还要热爱生活。——罗曼·罗兰 我阿里云OSS上的postman下载地址 postman官网下载地址 点击postman的new 选择API Documentation 你可以创建一个集合 或者选择一个已有集合 编写描述 然后点击Save 点击生成的链接就可以看到了 如果进去一直转圈,打不开页面,还有种方式 我们选择发布这个集合 然后这个页面我是能打开的,点击预览 效果如下
2021-02-16
springboot中自定义配置
我们不快乐的原因之一,是不知道如何安静地待在房间里,心平气和地与自己相处。——亦舒 例如我们需要进行一些自定义配置写到配置文件中 可以使用@ConfigurationProperties注解 1234567891011121314151617181920212223242526272829package com.ruben.pojo;import com.ruben.enumeration.GenderEnum;import lombok.Data;import org.springframework.boot.context.properties.ConfigurationProperties;import org.springframework.stereotype.Component;import java.util.List;import java.util.Map;/** * @ClassName: RubenProperties * @Description: ruben配置类 * @Date: 2021/2/16 0016 11:40 * * * @author...
