![](https://img-blog.csdnimg.cn/20201014180756916.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MySQL
gavin.liao
乐于分享
展开
-
synchronized同步失败问题处理
问题最近做一个好友砍价的功能,好友砍价时需要进行同步处理,避免并发时砍价金额出现异常。原来代码是在service中使用synchronized进行并发控制,代码如下@Override@Transactional(rollbackFor = Exception.class)public BigDecimal help(BargainHistory history) { String intern = String.valueOf(history.getId()).intern(); sync.原创 2021-09-02 14:56:57 · 2770 阅读 · 0 评论 -
mysql处理微信表情
mysql5.7以上可以通过base64函数来处理表情插入insert into wx_user (nick_name) values (to_base64('gavin????'));插入结果如下图查询select CONVERT(from_base64(nick_name) , CHAR) as nick_name from wx_user;查询结果如下图...原创 2021-01-27 11:04:39 · 298 阅读 · 0 评论 -
MySQL分组排名-名次并列处理
之前写了一篇mysql分组排名的博客,看评论很多人在说如果出现分数相同,此时想要名次并列的效果应该怎么办,今天有空简单调整了一下逻辑,也是可以实现的,直接上代码同样还是创建测试表score_info,建表语句如下CREATE TABLE `score_info` ( `class` varchar(20) DEFAULT NULL, `student_name` varchar(20) DEFAULT NULL, `score` int(11) DEFAULT NULL) ENGINE.原创 2020-08-11 18:04:46 · 4127 阅读 · 1 评论 -
mysql定时任务,每天定时执行
1原创 2019-11-21 15:56:27 · 15296 阅读 · 2 评论 -
MySQL单列去重
在平时开发中,我们会碰到对表的某一列数据去重的需求场景,如下student表建表语句如下CREATE TABLE `student` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(10) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`)) ENGINE=In...原创 2019-06-21 17:49:15 · 6931 阅读 · 8 评论 -
MySQL分组排名
今天分享一个MySQL的分组排名查询方法。我们知道,MySQL数据库没有类似Oracle数据库的 rownum 函数,因此查询时如果要在结果集中显示行号、排名等,需要使用MySQL的变量赋值操作。如下图所示,有体育成绩表score_info,成绩表包含 class(班级)、student_name(学生姓名)、score(分数) 三个字段现在我们需要对每个班级的学生成绩进行分组排名,最终得...原创 2019-06-22 19:34:51 · 8227 阅读 · 12 评论 -
mysql查询行号
mysql查询结果集中显示行号的方法。创建user表CREATE TABLE `user` ( `name` varchar(12) DEFAULT NULL) ENGINE=InnoDB DEFAULT CHARSET=utf8;插入若干条数据INSERT INTO `test`.`user` (`name`) VALUES ('张三');INSERT INTO `test`....原创 2019-06-24 10:25:58 · 582 阅读 · 0 评论 -
sql case when的两种写法
平时sql开发中,case when 是非常常用的,下面介绍开发中case when 的两种写法case when 的字段值为枚举类型时这里我们以用户的性别为例,有用户表user,其中有性别字段sex有三个枚举值 0、1、2首先我们创建user表,建表语句如下CREATE TABLE `user` ( `id` int(10) unsigned NOT NULL AUTO_INCR...原创 2019-07-21 13:35:40 · 7081 阅读 · 0 评论 -
sql分组统计
创建员工登记表CREATE TABLE `employee` ( `employee_no` varchar(10) NOT NULL COMMENT '员工编号', `department` varchar(10) DEFAULT NULL COMMENT '部门', `name` varchar(20) DEFAULT NULL COMMENT '员工姓名', `crea...原创 2019-08-01 15:14:14 · 3022 阅读 · 0 评论