mysql max min 必须放在-条件之后
发表于|更新于|mysql
1 | SELECT *,max(marks) FROM `form_log` where reason = 'astrazeneca' group by userid |
文章作者: developer
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Dev!
相关推荐
2019-03-19
mysql 统计重复记录数量
123456SELECT COUNT(*) as total FROM ( SELECT count(openid) as t FROM user GROUP BY `openid` HAVING t > 1 limit 1000) as a 如果下面写法会很慢 123456SELECT COUNT(*) as total FROM form_user WHERE id IN( SELECT count(id) FROM form_user GROUP BY `openid` HAVING COUNT(openid) > 1 limit 1000)
2019-05-28
mysql 5.5 修改 root 密码
启动数据库1mysqld --skip-grant-tables 更新密码12use mysql;UPDATE user SET Password=PASSWORD('root') where USER='root';
2020-04-13
mysql 管理
创建数据库1CREATE DATABASE IF NOT EXISTS yourdbname DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_general_ci; 创建用户1create user 'user'@'%' identified by '123'; 授权用户1grant all privileges on db.* to 'user'@'%'; 查看用户1show grants for 'user'@'%'; 修改密码123use mysql; update user set password=password('123') where user='root' and host='localhost'; flush privileges; mysql8密码问题1ALTER USER 'native'@&...
2018-05-08
swoole 协程 mysql 客户端等 进一步说明
官网文档已经说明了协程mysql客户端的使用方法有几种情况 只有一个协程客户端,同步代码 异步执行官网实例已经说明,如下 https://wiki.swoole.com/wiki/page/p-coroutine_realization.html 多个协程客户端 同步代码 异步执行其实就像默认的,他会按如上的顺序逐个执行 多个协程客户端 并发执行并发执行主要涉及到两个方法setDefer延迟发送和recv收包setDefer对下一行的io起作用,也就是不在那里进行收包,而是手动收包,从而达到并行效果测试代码 123456789101112131415161718192021222324252627282930313233343536$http->on('request', function ($request, $response) use ($http, &$n) { if ($request->server['request_uri'] == '/favicon.ico'...
2019-09-19
mysql 优化方向
https://segmentfault.com/a/1190000018705500 优化工具 mysql show命令 show [SESSION | GLOBAL] variables; 查看数据库参数信息 show [SESSION | GLOBAL] status; SHOW ENGINE INNODB STATUS; Innodb引擎的所有状态 SHOW PROCESSLIST; 查看当前所有连接session状态 show index:查看表的索引信息 explain:获取查询语句的执行计划 slow-log:记录慢查询语句,配置文件打开 mysqldumpslow mysql慢查询日志分析工具 详细介绍 突然卡顿解决步骤 show processlist; explain select id ,name from stu where name=’clsn’; #意思问题sql show index from table; #分析索引 通过执行计划判断,索引问题(有没有、合不合理)或者语句本身问题; show status like ‘%lock%’; ...
2018-09-19
mysql for update lock 悲观锁 解决并发问题
mysql常用的锁有for update 和 for update in share mode两种 锁的区别 for update 我认为是悲观锁,其他事务读会被阻塞等待,写被禁止,且不准多次加锁 for update in share mode 读取不等待,写入会被禁止,可被多次加锁 in share mode的问题如果两个事务对同一行数据加锁很容易导致,两个事务都更新失败 使用场景基于以上特点介绍,in share mode可以用于两个表关联时,保护主表数据不被修改,for update更适合保护单表单行数据的正确性,适合投票、提现等场景 测试验证以下代码验证for update的作用表maxcount中marks初始为8,每次减1,当他大于0时,将当时数据保存,类似于抽奖中控制最大奖品数的问题tp中lock(true)会默认使用for update锁,我们每次测试修改代码即可 并发配置使用ab发400并发 1ab -n 400 -c 400 http://127.0.0.1/ 测试代码1234567891011121314151617$marks = -1;Db::tra...
公告
This is my Blog