
MySQL
记录开发过程中遇到的问题,以及对应的解决方案
大唐冠军侯
努力学习的码农,希望头发慢点走
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
基于MySQL生成列实现逻辑删除条件下的字段唯一
背景实际业务中大多数的表采用的都是逻辑删除,而许多业务字段比如编码之类的都要求唯一,这个时候不能使用唯一索引来做,因为可能会存在删除再次添加的情况。原创 2024-09-30 16:20:35 · 741 阅读 · 0 评论 -
MySQL使用时间作为判断条件
背景:在开发过程中,我们经常需要根据时间作为判断条件来查询数据,例如:当月,当日,当前小时,几天内…1. 当月我们只需要使用一个mysql的MONTH(date)函数即可实现。(注意判断年份)MONTH(date);-- 用法:MONTH函数返回一个整数,表示指定日期值的月份。-- 举例SELECT MONTH('2020-11-11 00:00:00')-- 返回值是112. 30天内之所以把“30天内”放在当月的后面,是因为我经常会遇到这两个需求相互转换的情况,“30天内”也可以称原创 2020-11-14 22:27:15 · 2634 阅读 · 0 评论 -
mysql当日、月数据的统计(完整率)
1.场景说明平台每天都会接收分公司上报的指标(mq发消息给平台,平台解析入库,分别进device表和kpi表)。kpi表是其他指标表,device表是设备信息指标表,每天要统计分公司上报指标的完整率,一类指标发送一条就算发送,重复发送还是只算一条。其中,device表只存一类指标,kpi表存27类指标,27类指标根据字段kpi_id区分。现在需要统计分公司每天的指标完整率和当月的指标完整率。2.sql实现2.1当天的指标完整率2.1.1设备指标当天推送情况统计SELECT count( 1 )原创 2020-07-23 10:15:15 · 1651 阅读 · 0 评论 -
mysql查询报错Subquery returns more than 1 row
首先翻译一下这句报错:“子查询返回多行”。我出现这种情况的sql语句如下:UPDATE app_info set app_name = '61儿童劫'WHERE app_id = '031cb9d72e7b40d6b4aa23e049365913'and FIND_IN_SET('03fc8f60804a11eaa920ce79dca53588',(SELECT user_id FROM user_table WHERE table_name = 'app_info'))一开始,子查询只查出一条原创 2020-06-01 14:51:47 · 1963 阅读 · 0 评论 -
使用 DATEDIFF( )函数实现“查询指定天数内的数据”
1. DATEDIFF( )函数函数返回两个日期天数的差。DATEDIFF(expr1,expr2)差 = expr1 - expr2;示例:SELECT DATEDIFF("2020-05-03","2020-05-03")结果:SELECT DATEDIFF("2020-05-01","2020-05-03")结果:注意:其他数据库也有DATEDIFF( )函数,但...原创 2020-05-03 16:55:44 · 1867 阅读 · 0 评论 -
mysql的LPAD()函数和RPAD()函数
L和R分别是left和right的缩写,pad是填充的意思,所以这两个函数是用来填充字符串的。其用法为(用LPAD()举例):LPAD(str,len,padstr)返回字符串str,将其左填充字符串padstr至len个字符的长度。 如果str大于len,则返回值缩短为len个字符。示例:mysql> SELECT LPAD('hi',4,'??');+------------...原创 2020-05-03 16:29:57 · 1704 阅读 · 0 评论 -
利用mysql生成UUID
在日常的开发环境中,我们经常使用UUID来当做主键,一般我们使用的都是现成的工具类,但其实mysql就可以生成UUID。使用方法mysql生成UUID是使用的UUID()函数,如下图:但是生成的这个UUID中间是有“-”隔开的,我们一般是不要的,所以需要将“-”去掉。这里我们使用REPLACE()函数来实现去掉“-”。这样,我们就得到了我们想要的UUID。REPLACE(UUID()...原创 2020-04-08 15:48:33 · 1416 阅读 · 0 评论 -
REPLACE INTO语句和唯一索引UNIQUE INDEX
在开发中,我们经常会用到REPLACE INTO语句,下面的内容是我在使用过程中的一点笔记。1. 关于受影响的行数使用REPLACE INTO语句之后,会显示受影响的行数,会有两种情况,即:1或者大于1。1.1 受影响的行数为1说明REPLACE INTO语句没有替换原数据表中的数据,此时REPLACE INTO语句相当于一个INSERT语句1.2 受影响的行数大于1一般都是2,说明R...原创 2020-03-02 11:56:43 · 3854 阅读 · 2 评论 -
cmd中启动MySQL输入net start mysql 显示'net'不是内部或外部命令,也不是可运行的程序或批处理的文件。
作为一个小白,初学Java配置环境变量时,可能对以前的环境变量做了改动而不自知,MySQL出现如图中所示问题就很有可能是因为如此。问题确认:查看环境变量中的path,是否有C:\Windows\System32 环境变量。这个其实也是另一个问题的解决方案,即有时候在命令提示符输入正常的命令不能执行,加上路径之后就可以了,通常是环境变量异常导致的,重新设置一下即可。然后在试着在cmd里启动...原创 2019-08-04 09:57:20 · 5688 阅读 · 3 评论 -
SQL函数:DATE、FLOOR、UNION、DATE_SUB、IFNULL和 标记 CDATA
<select id="getNeKpiTrend" resultMap="monitorNumVo"> SELECT w.orderDate as kpi_time,ifnull(res.orderSum,0) as total FROM ( SELECT DATE_SUB(CURDATE(), INT...原创 2020-02-10 21:51:09 · 704 阅读 · 0 评论