MYSQL
文章平均质量分 62
主要记录的是工作中遇到的一些问题,以及一些解决问题的思路。
MellowYou
You will get better.maybe not today but someday.
展开
-
从订单明细表统计各品类销售出的商品种类数及累积销量最高的商品
思路:首先根据订单表统计每个商品的最高销量,以及每个商品类型卖出的商品种类,最后根据ROW_NUMBER() 根据商品种类分区,按照销量降序排序,最后获取销量最高的记录。下面使用MYSQL8语法,用到窗口函数,且sql_mode=only_full_group_by的模式下编写。原创 2023-05-22 15:22:59 · 865 阅读 · 0 评论 -
MYSQL8怎么查询订单信息表中最少连续3天下单的用户id?
第一步:根据用户id和日期分组,得到下单日期和用户id,然后通过 ROW_NUMBER() OVER (PARTITION BY user_id ORDER BY create_date),然后再根据user_id进行子分组,按照下单日期排序,得到连续日期,且标识序号。通过条件userId,第一个数据集日期+2,第一个数据集序号+2【这里序号最好用+2的方式,还可以用第二个数据集的序号-2,日期-2,但是序号列需要强转!MYSQL8实操练习。原创 2023-04-03 10:21:02 · 841 阅读 · 0 评论 -
MYSQL怎么查询X表中销量排名第X的数据?
这里我们举个例子:查询订单明细表(order _detail)中销量(下单件数)排名第二的商品id,如果不存在返回null,如果存在多个排名第二的商品则需要全部返回。【这里考虑到了销量一样的也要查出来,其他还有RANK,ROW_NUMBER,根据自己的业务场景来选择】然后再根据排序的值去筛选就好了。首先根据商品id汇总得到每个商品的总销量,然后再通过窗口函数根据商品总销量去排序.原创 2023-03-30 15:06:24 · 508 阅读 · 0 评论 -
MYSQL事物隔离级别
MYSQL事物隔离级别是面试经常问的,也是MYSQL中必须要了解的一个知识点,本篇文章主要理解事物隔离级别以及每种隔离级别下会发生什么问题?下面我们一起来看下。A:原子性【Atomicity】:一个事物中所有的SQL脚本要么全都执行成功,要么全都执行失败【undo log实现】。C:一致性【Consistency】:事物执行完之后,必须保证数据完整性【redo log实现】。I:隔离性【Isolation】:事物和事物之间执行不受影响,数据库引擎不同底层实现也不同【MyISAM不支持事物,InnoDB主要通原创 2022-12-02 14:38:00 · 349 阅读 · 0 评论 -
MYSQL“Lock wait timeout exceeded”问题分析
“Lock wait timeout exceeded” 问题分析处理首先导致锁表原因可能有以下原因:执行DML操作没有commit,再执行删除操作就会锁表。在同一事务内先后对同一条数据进行插入和更新操作。表索引设计不当,导致数据库出现死锁。长事物,阻塞DDL,继而阻塞所有同表的后续操作。原创 2022-11-29 14:15:47 · 1825 阅读 · 0 评论 -
Mysql 优化limit查询【实战可用】
Mysql 优化limit查询【实战可用】 最近在开发中遇到一个问题,当一个表中的数据量非常大的时候。然后用limit查询时 效率会随着数据量的增长而变慢,他们的关系成正比。 下面介绍几种优化方式,让你的分页查询快起来!且不仅仅是分页查询。下面是一张通过OCR识别水表信息的表,每天都有成千上万张图片进行识别。表结构:CREATE TABLE `ocr_image_recognition` ( `id` int(20) NOT NULL AUTO_INCREMENT, `STUBN原创 2021-09-30 11:14:43 · 295 阅读 · 0 评论 -
Mysql 如何保证不插入重复列
Mysql 避免插入重复数据在日常开发中,肯定会碰到很多业务会有批量插入值,数据源可能是其他数据库的表,也可能是Excel。那么问题来了,是不是每次插入之前都要查一遍,看看重不重复,在代码里筛选一下数据,重复的就过滤掉呢?向大数据数据库中插入值时,还要判断插入是否重复,然后插入。那么如何提高效率呢?看来这个问题不止我一个人苦恼过。解决的办法有很多种,不同的场景解决方案也不一样,数据量很小的情况下,怎么搞都行,但是数据量很大的时候,这就不是一个简单的问题了。几百万的数据,不可能查出来,再做去重处理,原创 2021-09-08 10:09:31 · 617 阅读 · 0 评论 -
看看常用数据库之间的分页SQL到底有何区别?
常用数据库的分页SQL区别这一篇主要讲oracle,mysql,sql server之间的分页sql区别。不少的开发人员在工作中,或者在学习中都只会选一种数据库去使用,来学习。但是每个数据库的语法稍有不同,最具有代表的就是查询分页,因为它在工作当中必不可少。但每个数据库的分页语法都不太一样。接下来我们一起看看这是三个数据库之间的分页语法有何不同。Oracle 分页下面是查询数据在数据库中根据条件赛选之后的 10-30条数据 ,oracle分页也可以有其他写法,这里只介绍一种。SELECT * F原创 2021-08-25 09:51:37 · 249 阅读 · 0 评论 -
MYSQL从哪几个方面优化sql?
MYSQ优化这个问题经常在工作中会遇到,并且在面试的时候,也是面试官们的青睐的问题。接下来这一篇文章会简单的介绍怎么去优化数据库,从哪些方面入手。这些解决方案在工作中和面试非常有用!转载 2021-08-23 10:40:21 · 884 阅读 · 0 评论