数据库
因努力 果随缘
一个有故事的程序员
展开
-
mysql获取当前时间是一年的第多少天
mysql获取当前时间是一年的第多少天原创 2022-06-27 16:19:59 · 951 阅读 · 0 评论 -
CURDATE()和NOW()区别
首先都是mysql中的当前时间函数不同点CURDATE()是精确到当前时间年月日 NOW()精确到当前时间时分秒原创 2022-06-27 15:59:46 · 1546 阅读 · 0 评论 -
mysql 统计市县的数量
现在有个需求,我要统计浙江省各市和县的大东北烧烤数量(注意:数据只是用来演示demo用的,实际已调查考证为主),要求先统计各县区的数量,在把各县区数量在汇总统计。来,话不多数,开始吧。先来一张行政区划表:各县区烧烤数量表:原创 2022-06-02 11:00:30 · 4286 阅读 · 0 评论 -
数据库之自连接
sql的连接运算根据其特征的不同,有着不同的名称,如内连接,外连接,交叉连接等,针对相同的表进行的连接被称为自连接 self join,一旦熟练掌握自连接技术,我们便能快速的解决很多问题。可重排列,排列,组合,假设有一张表里存放了商品名称及价格,表里有苹果,橘子,香蕉,三条记录,在生成用于查询销售额的报表等的时候我们有时会需要获取这些商品的组合。表:...原创 2022-05-14 17:55:14 · 1057 阅读 · 0 评论 -
case表达式之表之间的数据
在case表达式里,我们可以使用between,like,和<,>等便利的谓词组合,以及能嵌套子查询的in和exists谓词,因此case表达式具有非常强大的表达能力,用起来非常香。我们来举个例子,某it培训机构的课程一览表和一张管理每个月所设的课程的表,每个月所开设的课程:查询open_subject里各个月里有哪些课程select subject, case when course_id IN(SELECT course_id FROM open_s原创 2022-05-05 21:04:15 · 305 阅读 · 0 评论 -
update语句里进行条件分支
我们来看一张工资表:原创 2022-05-03 20:51:31 · 252 阅读 · 0 评论 -
用sql语句进行不同条件的统计
进行不同条件的统计是case表达式著名用法之一,我们统计各个班级男女的性别数量:如图:班级,性别,人数我现在统计所有班级男生数量:select sum(person_num) as person_numfrom school_roomwhere sex = '1'统计所有女生的人数:select sum(person_num) as person_numfrom school_roomwhere sex = '2'我i们使用case表原创 2022-05-03 20:27:04 · 2323 阅读 · 0 评论 -
mysql之case when按区间统计个数
按照级别统计个数:SELECT case WHEN population <50 then '1' WHEN population >=50 and population <100 then '2' WHEN population >=100 and population <200 then '3' WHEN population >=200 then '4' else null end as top, ..原创 2022-05-03 18:05:59 · 3034 阅读 · 0 评论 -
mysql之 将已有编号方式转换为新的方式统计
我们将已有编号的方式转范为另外一种便于分析的方式进行统计的需求:比如我们统计下列各区的总人口,按照所在市统计 select CASE country_name WHEN '萧山区' THEN '杭州市' when '上城区' THEN '杭州市' when '余杭区' THEN '杭州市' when '海曙区' THEN '宁波市' when '江北区' THEN '宁波市' when '镇海区' THEN '宁波市' when '北仑区' THEN原创 2022-05-02 23:24:36 · 612 阅读 · 0 评论 -
mysql获取当前年,当前月,当前时,当前分,当前秒
获取当前年:select YEAR(NOW()) as `YEAR`获取当前月:select MONTH(NOW()) as MONTH获取当前小时select HOUR(NOW()) as HOUR获取当前分钟select MINUTE(NOW()) as MINUTE获取当I前秒select SECOND(NOW()) as SECOND原创 2022-04-26 20:12:44 · 2780 阅读 · 0 评论 -
Redis之深挖(就是往里面探究)
Redis是完全开源免费的,是一个高性能的key-value数据库,目前市面上主流的数据库有Redis,Memcache.但是用的最多的还是Redis数据库。Redis属于内存数据库(nosql数据库)关系数据库存硬盘中,查询实现是基于io操作。非关系数据库Redis一般把数据存放到内存中,如果一旦服务器宕机或者重启,那么redis保存在内存中的数据就会丢失,那么肯定有解决方案,那就是持久化机制。JVM内置缓存框架ECACH,OS CACH,这些内存缺点是数据无法共享,也非常消耗JVM,所以基本原创 2022-03-15 23:13:56 · 749 阅读 · 0 评论 -
mysql时间区间过滤出对应值
上面一张表,我要根据当前时间过滤出对应的值:SELECT `CODE`, levelValue FROM leveldate WHERE DATE_FORMAT( NOW(), '%m%e' ) >= firstMonth AND DATE_FORMAT( NOW(), '%m%e' ) <= endMonth 当前日期对应的角色级别:...原创 2022-03-14 10:12:57 · 1649 阅读 · 0 评论 -
公平锁与非公平锁
什么叫公平锁:就是比较公平,根据请求锁的顺序排列。也就是先进来得先获取锁,后进来得后获取锁,采用队列进行存放,遵循得原则是先进先出的原则。类似于生活中的排队做某事,比如排队吃饭。说完了公平锁,我们来说说非公平锁,非公平锁不是根据请求的顺序序排列,谁能够抢到锁就归谁。NEW ReentrantLock(true) -- 公平锁NEW ReentrantLock(fasle)---非公平锁我们来用代码演示一遍:...原创 2022-03-06 19:35:24 · 719 阅读 · 0 评论 -
mysql 转置
最近开发有个需求,就是多条数据合并成一条语句,方便前端去调用:如图我要把上面六条语句转置成两条语句,以年份进行分组,分别统计生活用水,工业用水,农田用水。 select water.recrdYear, SUM(IF(water.type='生活用水',water.waterVolute,0)) AS peopleWater, -- 生活用水 SUM(IF(water.type='工业用水',water.waterVolute,0)) AS industryWater原创 2022-03-02 13:37:32 · 1326 阅读 · 0 评论 -
mysql统计重复的属性字段有哪些
SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for user-- ----------------------------DROP TABLE IF EXISTS `user`;CREATE TABLE `user` ( `id` varchar(225) CHARACTER SET utf8 COLLATE utf8_general_ci .原创 2021-12-23 14:10:48 · 521 阅读 · 0 评论 -
mysql统计 同比 环比
我们来看下计算公式:1、同比环比计算规则月度同比=(本月-上月)/上月*100%月度环比=(当年本月-上年本月)/上年本月*100%年度同比=(今年-去年)/去年*100%SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for finance-- ----------------------------DROP TABLE IF E原创 2021-11-03 11:37:38 · 2607 阅读 · 3 评论 -
CASE表达式概述
今天我们来讲讲sql中常用到的case表达式,case表达式表达式是从SQL-92标准开始被引入的,case表达式有简单case表达式,和搜索case表达式两种写法我们来看看简单case表达式。简单case表达式:-- 简单case表达式SELECT *, CASE sexWHEN '1' THEN '男'WHEN '2' THEN '女'ELSE '其他' end ...原创 2020-04-28 21:06:15 · 601 阅读 · 0 评论 -
MySQL数据库服务的几种启动方式
MySQL服务启动 1.手动 打开cmd ------>输入services.msc打开服务器的窗口----->找到MySQL服务右键启动 步骤如图所示: 打开cmd 输入services.msc 找到MySQL服务右键启动 ...原创 2019-10-02 00:18:49 · 2852 阅读 · 0 评论 -
存储过程之模糊查询like CONCAT(‘%‘,`xxx`,‘%‘)
我要根据部门查询人员信息,如果传入null或者' ',查询所有,如果输入模糊查询条件,把满足模糊条件的内容检索出来。CREATE DEFINER=`root`@`localhost` PROCEDURE `pro_user`(IN `dept` varchar(15))BEGIN select u.* from user u where (`dept` is null or `dept` ='' or u.dept like CONCAT('%',`dept`,'%') );END...原创 2021-08-05 14:10:19 · 1444 阅读 · 0 评论 -
Duplicate column name ‘xxxx‘
今天在完成任务的时候,突然报了这么一个错,这个错一般出现在创建视图的时候。我们来分析下:这个是我书写的一个视图,当我点击确认的时候就出现了了这个错。原因是我在创建视图的时候属性名重复了,只需要删除一个就好了。...原创 2021-06-04 16:40:21 · 366 阅读 · 0 评论 -
mysql之枚举应用
我们在做数据统计的时候,经常用到枚举,这样的目的是使用起来更灵活,松散解耦合,用到参数只需配置就行,无需参数写死。比如我现在统计一个审核流程,采用枚举来设计,首先要有一张审核表,外加一张枚举表。首先设计枚举表:表结构如下部门表:枚举表数据:部门表数据:我们查出对应的审核流程:SELECT de.*, cil.`NAME` FROM depart de LEFT JOIN category_infos cil ON de.review_resul..原创 2021-05-24 17:01:00 · 248 阅读 · 0 评论 -
mysql之多个区间统计
我们现在有个需求,根据不同分数统计对应级别大于等于90分的是"A"级别大于等于80小于等于90是"B"级别大于等于70小于等于60是"C"级别小于60是"F"级别SELECT stu.grade, ( CASE WHEN ( isnull( stu.grade )) THEN '无' WHEN ( ifnull(( stu.grade ), 0 ) >= ifnull( 90, 9999 )) TH..原创 2021-05-24 16:05:04 · 778 阅读 · 0 评论 -
mysql之视图篇
我们写sql的时候通常用到视图,视图你可以理解成一张伪表,但他比更不是一张表,他只是更方便用来统计数据,下面我们来创建一张视图。数据还是下面这些:右键点击新建视图我们来统计年龄为24岁的人员信息:最后点击确定这个视图就创建好了。视图自带优化功能,他会以别名的形式进行优化了下,看来视图是个好东西。来,我们测试写写好的视图。漂亮!!!...原创 2021-05-24 13:55:45 · 85 阅读 · 0 评论 -
mysql 存储过程的编写
如图是一张user表:现在我要编写一个存储过程,根据学历条件筛选,如果传null,查所有,如果传对应的条件,查询对应条件的记录。写完,我们来测试下:...原创 2021-05-24 10:21:39 · 100 阅读 · 0 评论