
mysql
Xu_jesse
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何总是更新某个字段
项目用的mybatisPlus,现在有一个字段,不管是不是空,都需要更新这个字段原创 2023-02-24 17:20:10 · 467 阅读 · 1 评论 -
mysql之取多列最大最小值,不要只记得列转行,有些函数可能更好用
mysql函数极大提高了查询效率原创 2022-06-10 16:05:28 · 2890 阅读 · 0 评论 -
ElasticSearch基础入门,白话es
ElasticSearch是一个基于Lucene的搜索服务器。原创 2022-06-03 17:17:28 · 2015 阅读 · 0 评论 -
queryWrapper在count时使用distinct
项目中某个查询需要使用到统计数量的功能,mybatis提供了count方法,但是,需求里需要对去重,需要用到distinct,如下格式:count(distinct KEY_)SELECT COUNT(DISTINCT KEY_) FROM program WHERE (STATE_ = 4)对应代码如下: QueryWrapper<Program> query = new QueryWrapper<>(); query.select("distinct KEY原创 2022-01-07 10:43:20 · 13450 阅读 · 0 评论 -
mysql分组后获取每个组的第一条数据
已知:subject表(主题表),主题表为树形表path字段,使用分隔符###,将主题编码从一级到本级主题编码,拼接起来,便于查询主题下子主题数据。现在,需要根据path排序,聚合查询一级主题的名称和条数。直接上结果:两种写法:一:select tt.name as subjectName,path,count(*) as countNum from (select distinct t.table_id_, t.SUBJECT_ID_, s.name_ as name,path_,SUBST原创 2022-01-04 16:26:12 · 3536 阅读 · 0 评论 -
递归方式获取动态菜单
之前写了几次动态树形结构,因为不太懂递归写法,所以,实现起来特别麻烦,当时最多手动写了4层for循环,代码冗余不说,而且出错很难排查。最近有机会又写了一次动态菜单的数据获取,前端使用的是vue+elementUI,里面的结构就是标准的可以递归的json数据。后端使用的是ssm,因为mybatis可以嵌套调用,结果集可以封装到javaBean中,所以,这次很容易的就实现了递归获取菜单的功能。个人觉得重要的是需要定义一个好的javaBean。具体步骤如下:1.定义一个实体类Menu菜单实体类Menu如原创 2021-04-22 16:38:23 · 389 阅读 · 0 评论 -
ElementUI使用树形数据与懒加载形式展示数据Error: for nested data item, row-key is required. children: [{$ref: “…”}]
记一次使用vue+elementUI数据展示报错使用elementUI展示table时,使用树形数据与懒加载形式展示数据。这里需要注意一下的是,elementUI版本尽量高一点,否则可能不显示。我公司的elementUI版本就是太低了,最后我换了高版本才搞定的。使用过程就不说了,按照官网提示就可以了。但是晚上让同事搞的时候,添加了一条数据,然后修改了数据,之后就不行了,前端就报错了,提示row-key是必须的。可是查看了前端是好的啊,所有配置都有,而且一直是可以运行的。查看了一下返回数据,也正常啊,标原创 2021-04-21 13:28:40 · 1375 阅读 · 0 评论 -
把条件写在 join on 后面和写到where后面的区别
转载:https://www.cnblogs.com/zsq23837880/p/7040923.html前两天面试,遇到了一道题。说的是LEFT JOIN关联表中ON,WHERE后面跟条件的区别。当时确实有点懵逼~经常做这种left join,inner join连接,却发现居然只是模糊的认识。回到家后,马上开启了“实践是检验真理的唯一标准”模式。三下五除二,建了两张表尝试起来。首先是...原创 2019-07-11 16:04:10 · 8814 阅读 · 3 评论 -
mysql 批量修改某一个字段 加前缀,后缀,以及去掉前缀,后缀
表:table,字段:id,name等。1.增加前缀或后缀:可以使用concat(str1,str2,…)函数。用法如下:1.增加前缀:update table set name = concat('prefix_',name);2.增加后缀:update table set name = concat(name,'_suffix');3.同时加前缀以及后缀:update table set name = concat('prefix_',name,'_suffix');2.去掉前缀或者原创 2020-11-27 16:06:31 · 10561 阅读 · 2 评论 -
MySQL查询与日期相关数据(当天、7天、本月、近30天等)
今天select * from 表名 where to_days(时间字段名) = to_days(now());昨天SELECT * FROM 表名 WHERE TO_DAYS( NOW( ) ) - TO_DAYS( 时间字段名) <= 1近7天SELECT * FROM 表名 where DATE_SUB(CURDATE(), INTERVAL 7 DAY) <= date(时间字段名)近30天SELECT * FROM 表名 where DATE_SUB(CURDATE()原创 2020-11-25 11:00:09 · 1101 阅读 · 0 评论 -
使用select查出的数据进行批量insert
A:id,userid,roleidB:useridA:id是随机生成的uuid,roleid是写死的,userid是查询出来的insert into A(id,userid,roleid)select UUID(), b.id,'-20' from B b ;原创 2020-05-12 19:30:33 · 2382 阅读 · 0 评论 -
504,调用远程服务失败:read timed out
调用远程服务失败:read timed out描述:之前运行一直正常,用户导入了一批数据,然后报504。测试了一下,用个人电脑访问生产环境会出现错误,然后测试了一下本地代码正常,测试服务器代码正常,然后用本地代码加载生产数据库也正常,去到生产服务器,用生产环境的那个电脑运行也正常。跟了一下代码,发现域名访问时,时间只要超过5秒,前端会自动返回:调用失败。实际后台代码还在继续运行。分析:...原创 2019-10-28 16:40:04 · 2014 阅读 · 0 评论 -
日期时间字符串含义 YYYY-MM-DDTHH:mm:ss:sssZ(精确到毫秒级)
转载自此原创 2020-01-07 11:35:35 · 14180 阅读 · 0 评论 -
mysql 除数为0显示100,保留两位小数,显示百分号的相关操作
1.处理除数为0:使用if函数,具体语法:IF(expr1,expr2,expr3),如果expr1的值为true,则返回expr2的值,如果expr1的值为falseeg: if(a,100*c/a,100): 如果a不为0不为空,返回正常的比值,否则返回1002.保留两位小数:有好几种方法:round(),truncat(),format()等,可以根据需求选用,我这里用的...原创 2019-11-07 17:36:23 · 2429 阅读 · 0 评论 -
mysql 查询最新的一条数据(整个表的)
已知:t表,里面有createtime字段,按照unitproject_xid取最新的一条数据;第一种方法(排序+分组):select t.* from(select * from t order by t.createtime desc) t group by t.unitproject_xid;第二种方法(自关联):select t1.* from t t1 left joi...原创 2019-10-29 19:22:05 · 3365 阅读 · 0 评论 -
mysql创建日历表,可以按日或按月增加数据
最近开发遇到一个需求,需要统计一段时间内每天的各种数据,发现某天没有的数据没法显示出来,所以这时候用一张日历表去联合查询即能获得每天的数据创建日历表用到ADDDATE这个系统函数,这个函数会自动为给定的日期添加指定的时间间隔,ADDDATE(‘2017-06-20’,1) 会得出2017-06-21,利用这个功能,给指定的日期循环添加比如10000,即能得到指定日期后10000天的数据CRE...原创 2019-08-19 15:42:11 · 972 阅读 · 0 评论