
mysql
crx05
这个作者很懒,什么都没留下…
展开
-
MySql 存在记录就更新,不存在就新增
1、插入一条数据,存在就更新,不存在就更新(必须现有唯一键) 使用insert ignore语句:insert ignore into table(col1,col2) values ('a','b'); 例如插入数据:insert ignore into user_info (last_name,first_name) values ('LeBron','Ja原创 2017-04-28 14:09:35 · 15506 阅读 · 0 评论 -
MYSQL升级到5.7中的后GROUP BY语句出错解决方法
今天用mysql执行GROUP BY 语句的时候碰到 which is not functionally dependent on columns in GROUP BY clause的问题,发现5.6以及之前的mysql中GROUP BY中的列不一定到出现在select中,除非强制sql-mode中使用ONLY_FULL_GROUP_BY,但5.7中好像默认使用ONLY_FULL_GROUP_B原创 2017-03-03 21:46:15 · 6719 阅读 · 0 评论 -
mysql分组取每组前几条记录(排名) 附group by与order by的研究
来源:http://www.jb51.net/article/31590.htm--按某一字段分组取最大(小)值所在行的数据 复制代码代码如下:/* 数据如下: name val memo a 2 a2(a的第二个值) a 1 a1--a的第一个值 a 3 a3:a的第三个值 b 1 b1--b的第一个值 b 3 b3:b的第三个值转载 2017-06-03 02:43:11 · 850 阅读 · 0 评论 -
MySQL 性能优化神器 Explain 使用分析
简介MySQL 提供了一个 EXPLAIN 命令, 它可以对SELECT语句进行分析, 并输出SELECT执行的详细信息, 以供开发人员针对性优化.EXPLAIN 命令用法十分简单, 在 SELECT 语句前加上 Explain 就可以了, 例如:EXPLAINSELECT*fromuser_infoWHEREid<300;准备为了接下来方便演示 ...转载 2019-05-21 10:18:23 · 163 阅读 · 0 评论 -
MySQL语句 关联两表 合并重复列值 (一对多合并查询)
没用一对多前的查询语句效果如图:期望效果如图:可以看到把重复的数据合并成一行,实现一对多的效果。原先效果:SELECT u*,r.name AS rnameFROM sys_user u left join sys_role r on u.pk_role=r.pk_roleWHERE 1=1 and ifnull(u.jl_is_del,0)=0 and u.pk_cor...转载 2019-05-17 17:24:53 · 5917 阅读 · 0 评论