sql
文章平均质量分 54
github_39325328
抱歉,没能及时回复你(已于2021-07-09转行)
展开
-
SQL查询任务对应的最新结果(多表查询对应的最新一组数据)
表关系如下:一个任务(task)可以执行多次,每次执行会在中间表(task_relation)维护一条记录,同时会产出多条结果(task_result)分别为:任务表、任务结果中间表、任务结果表 表结构及数据:/*SQLyog Enterprise - MySQL GUI v7.13 MySQL - 5.7.16 : Database - test*********************************************************...原创 2021-05-25 16:39:10 · 597 阅读 · 1 评论 -
记一次数据处理操作
由于需求变更,导致代码逻辑变化,造成数据库中的code_字段数据格式混乱。考虑到表中数据量较大,所以选择写sql进行update数据处理。涉及字段注释:标准数据格式如下:楼-单元-层-号老数据如下:缺少 ‘单元’ ‘层’ ‘号’ 中文只有‘房号’,没有拼接一起 ‘--’后有一位数字的,把‘--’替换原创 2017-06-27 17:01:58 · 294 阅读 · 0 评论 -
mysql对字符型字段中的数字进行排序
场景:按楼栋名称进行排序比如有一套楼栋数据如下:直接对楼栋名称进行order by是没有效果的,因为目标字段是字符型思路:获取楼栋名称中的数字,对数字进行排序解决方案:创建mysql函数GetNum(field)DELIMITER $$CREATE FUNCTION GetNum (Varstring varchar(50))RE...原创 2018-03-29 18:06:07 · 4025 阅读 · 0 评论 -
简单理解case when then else end用法
select case when user_name = '四狗' then '我' else '别人' end from sys_user select case user_name when '四狗' then '我' else '别人' end from sys_user 将符合 case when 条件的数据,赋值为 then 后面的将不符合 case when 条件的...原创 2018-12-05 17:13:26 · 1758 阅读 · 0 评论 -
简单理解mysql/InnoDB的死锁问题
MySQL三种锁的级别:行级锁:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低页面锁:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般 数据库存储引擎:MyISAM和MEMORY存储引擎,采用的是表级锁(table-level ...原创 2018-12-14 17:02:45 · 569 阅读 · 0 评论 -
mysql使用left join where右表条件无效,变成inner join 或 单表查询效果
问题描述:select *from Aleft join B on A.id = B.aidwhereB.字段 = xxx如果使用left join以A为主表,并查询A表全部数据,和关联的B表数据where后面就不能出现B表的条件,否则会变成inner join效果,或理解为单表查询效果举例说明:(假设有两张表)A表 战队表 team:B表 成员表 t...原创 2019-04-22 11:24:41 · 4951 阅读 · 0 评论 -
SQL查询所有队伍数据,以及队伍关联的成员和队长
效果如下:队伍名称 队长 成员 A战队 李四A 张三A,李四A,王五A B战队 张三B 张三B,李四B,王五B 表关系如下:一个队伍 对应 多个成员建表语句: CREATE TABLE `team` ( ...原创 2019-03-20 15:46:45 · 1181 阅读 · 0 评论 -
Mybatis一个搜索框对多个字段模糊查询
方式一:使用like运算符LIKE运算符用于WHERE表达式中,通常与 % 一同使用,类似于一个元字符的搜索(模糊匹配)使用mybatis<bind />标签规避更换数据库有些SQL语句可能需要重写,不同数据库之间存在语法差异,比如Oracle中 CONCAT() 只支持两个参数使用mysql函数 CONCAT_WS(x, s1,s2...sn) CONCAT...原创 2019-07-30 11:45:31 · 5213 阅读 · 2 评论