mysql使用ORDER BY和GROUP BY
发表于|更新于
|浏览量:
今天写代码时遇到一个需求是这样的:
取表内最新的一条数据,根据用户名分组
本来以为又是那种
需求,然后就开始写sql,写完一运行,报错。。。
然后发现GROUP BY必须放在ORDER BY的前面
但这样又会导致不能取最新的一条数据
于是用了一个“子查询”的办法解决
1 | <select id="cowBeer" resultType="map" parameterType="map"> |
相关推荐
2023-10-01
webclient远程调用
无论谁想获得自己的名声,都应该隐藏起他的自负。——斯威夫特 我们在webflux场景下可以使用webclient 依赖就包含在了webflux中 1234<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-webflux</artifactId></dependency> 这里使用的话: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768import cn.dev33.satoken.same.SaSameUtil;import cn.hutool.core.map.MapUtil;import cn.hutool.json.JSONUtil;import com.alibaba...
2023-06-16
pac4j
对付邪恶的特效药,就是跟邪恶战斗。——泰戈尔 分享一个java安全框架 https://www.pac4j.org/
2024-05-15
jackson范型注意
放弃不难,但坚持一定很酷。——《解忧杂货店》 今天使用 Jackson 有个疑问,就是带范型的对象,Jackson 序列化后,范型会怎样处理: 就比如说{"data":{"data":1}},以及下面这个类: 1234@Datapublic static class Foo<T> { private T data;} 这个外层的 data 会反序列化出来什么类型呢? 实际上反序列化出来 LinkedHashMap 1234var obj = mapper.readValue(""" {"data":{"data":1}} """, Foo.class);Assertions.assertEquals(LinkedHashMap.class, obj.getData().getClass()); 如果我们需要继续解析成具体的类型,则...
2023-12-18
quartz工具类含倒计时
一个人有无成就,决定于他青年时期是不是有志气。——谢觉哉 分享一个自己写的Quartz工具类,可以轻松实现倒计时功能: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778import cn.hutool.core.date.DateUtil;import lombok.SneakyThrows;import lombok.experimental.UtilityClass;import org.dromara.streamquery.stream.core.collection.Lists;import org.quartz.*;import org.quartz.core.jmx.JobDataMapSupport;import org.quartz.impl.StdSchedulerFactory;import org.quart...
2023-04-03
stream-query加入dromara开源组织
宁可理解少些,胜于误解许多。——法郎士 Stream-Query简介 Stream-Query允许完全摆脱Mapper的Mybatis-Plus体验!可以使用类似“工具类”这样的静态函数进行数据库操作 Stream-Query诞生背景自从用了Mybatis-Plus后,谓爱不释手,捧读其源码,贡献其代码…慢慢地,我不仅是Hutool的Commiter,也成为了Mybatis-Plus的Commiter 于是我产生了一个思考,能不能让Hutool的静态工具类概念,用在Mybatis-Plus中呢? 这样我就可以不需要每张表都使用代码生成器去生成继承了ServiceImpl的Service 而是针对某一域的业务去新建Service,避免很多可以省略掉的Service类(比如除了主键外只包含user_id、role_id这两个字段的关联表) 然后我就编写了Db类,放到了Mybatis-Plus的3.5.3版本中: 但我还不满足,此时我仍然需要编写一个UserRoleMapper,用于Mybatis-Plus去动态代理 那么我就又研究了下源码,发现了一种实现动态Mapper的方法,那...
2023-09-02
TreeMap踩坑
不降志,不屈身,不追赶时髦,也不回避危险。──胡适 今天使用TreeMap踩坑了 代码如下: 12345678 @Testvoid test() { Map<Integer, Object> map = new TreeMap<>(Comparator.comparing(i -> i % 2 == 0)); map.put(2, 0); map.put(1, 0); map.put(3, 0); System.out.println(map);} 输出结果却是 1{1=0, 2=0} 这是因为Comparator里计算结果重复导致的,即便我们的key并不相同,也会被覆盖。。。 于是我们可以指定计算结果相同时策略: 123456789@Testvoid test() { Map<Integer, Object> map = new TreeMap<>(Comparator.<Integer, Boolean>comp...

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog