mysql
码&酒&故事
将拥有与雄狮一样的发量
展开
-
mysql中engine=innodb和engine=myisam的区别
这两种都是mysql的数据库的存储引擎的类型,一个支持事物等数据库的高级功能,一个不支持。两个各有用处,各有优劣。1/ISAM ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,...转载 2018-08-31 08:59:55 · 726 阅读 · 0 评论 -
日期类报表数据开发小例1
原表要求:每天的取最大值cnt的前三个top 3代码实现:SELECTa.*FROMcity_top aLEFT JOIN city_top b ON a.date = b.dateAND a.cnt < b.cntGROUP BYa.date,a.city,a.cntHAVINGcount(b.date) < 3ORDER BYa.date,a...原创 2018-09-25 14:44:54 · 200 阅读 · 0 评论 -
group by多个条件
首先group by 的简单说明: group by 一般和聚合函数一起使用才有意义,比如 count sum avg等,使用group by的两个要素: (1) 出现在select后面的字段 要么是是聚合函数中的,要么就是group by 中的. (2) 要筛选结果 可以先使用where 再用group by 或者先...转载 2018-09-25 09:16:03 · 9081 阅读 · 0 评论 -
环比练习
不得不说一个三年数据库分析师给出的环比练习题,真的让小白瑟瑟发抖,还请教了一个经理,完全被打败。对数据库的运用真的是一门高深的学问,然鹅燃起对DBA的崇敬之情。搜索很多的技术文章都没有纯用sql做环比的文章,在此附上卡了一周本人的错误思路和最终大神的成品代码。需求:按月份统计数据综合并做环比原始数据要求按月份环比后结果:(此处不知如何将字符型转变成为 '%Y%m’的形式,尝试多次望网友留言...原创 2018-09-19 14:47:02 · 650 阅读 · 0 评论 -
CONCAT函数
concat(str1,str2,…) 返回结果为连接参数产生的字符串。如有任何一个参数为NULL ,则返回值为 NULL。mysql> select concat('11','22','33');+------------------------+| concat('11','...转载 2018-09-19 10:21:39 · 4148 阅读 · 0 评论 -
SQL中的DECIMAL()函数
Decimal为SQL Server 数据类型,属于浮点数类型。一个decimal类型的数据占用了2~17个字节。 Decimal 数据类型Decimal 变量存储为 96 位(12 个字节)无符号的整型形式, D转载 2018-09-19 09:37:47 · 37603 阅读 · 0 评论 -
sql,mysql的cast
之前讲到了orcale的字符串与日期等类型的转换,现在我们来看看Mysql是怎么转换的。比起orcale,MySQL相比之下就简单得多了,只需要一个Cast()函数就能搞定。其语法为:Cast(字段名 as 转换的类型 ),其中类型可以为:CHAR[(N...转载 2018-09-10 11:46:12 · 216 阅读 · 0 评论 -
MYSQL按月环比
一、要求1、表结构如下:ID DepartName(部门) Sales(销售量) SalesDate(销售日期)1 营销一部 300 &a转载 2018-09-06 16:08:20 · 1986 阅读 · 0 评论 -
如何添加已知博主为关注人
原始数据作日期自增基数 SELECT a.date, c.province, ifnull(b.cnt,0) AS cntFROM ( SELECT str_to_date( adddate('2018-08-01', numlist.id), '%Y-...原创 2018-09-05 10:21:52 · 497 阅读 · 0 评论 -
mysql查询其中一个表在另一个表中不存在的信息
原表 需求: 方法一(效率低):求两个查询结果的差集,Mysql直接提供了关键字not in方法二:但是not in的效率极其低下,出现例如求一个上千查询结果在上万查询结果的差集,那么使用not in来查询的查询速度极其缓慢,这是必须使用左链接的方式求查询。 ...原创 2018-09-05 10:13:20 · 8012 阅读 · 1 评论 -
mysql中的LAST_INSERT_ID()
本文转载自:http://blog.csdn.net/slvher/article/details/42298355author:slvher 在使用MySQL时,若表中含自增字段(auto_increment类型),则向表中insert一条记录后,可以调用last_insert_id()来获得最近insert的那行记录的自增字段值(一个bigint类型的64-...转载 2018-08-31 16:21:17 · 883 阅读 · 0 评论 -
间隙锁
在mysql的innoDB存储引擎中,如果更新操作是针对一个区间的,那么它会锁住这个区间内所有的记录,比如update xxx where id between a and b那么它会锁住a到b之间所有记录,注意是所有记录,甚至这个记录并不存在也会被锁住,这个时候,如果另外一个连接需要插入一条记录到a到b之间,那么它就必须等到上一个事务结束。典型的例子就是使用au...转载 2018-10-09 10:18:33 · 952 阅读 · 0 评论