随笔分类 - sql
摘要:在 PostgreSQL 中,可以使用 unnest 函数来展开数组,然后进行聚合操作。例如,如果你有一个数组字段,想要将数组展开为单独的行,并进行聚合统计,可以通过以下步骤来完成。 场景描述: 假设有一个 orders 表,其中每个订单包含一个 product_ids 数组,数组里存储了购买的商品
阅读全文
摘要:场景假设 假设我们有两张表: sales 表:记录了每个产品的销售数量 product_id (产品ID) quantity (销售数量) products 表:记录了每个产品的详细信息 product_id (产品ID) product_name (产品名称) 我们的目标是计算每个产品销售数量占总
阅读全文
摘要:version: '3' services: db: #构建mysql镜像 image: mysql container_name: mysql-db # 容器名 restart: always environment: MYSQL_ROOT_PASSWORD: root #root管理员用户密码
阅读全文
摘要:案例一、 name,course,score 张三 语文 81张三 数学 75李四 语文 56李四 数学 90王五 语文 81王五 数学 100王五 英语 49 问题:给出成绩全部合格的学生信息(包含姓名、课程、分数),注:分数在60以上评为合格? 考察点:分组,筛选,子查询 案例二:
阅读全文
摘要:表结构: 问题:求出每个班前三成绩的人姓名班级和排名 -- 解析,开窗函数, over(partition by 分组列1,分组列2 order by 排序列)as 排名 第一阶段全部数据排名: 第二阶段筛选排名 SELECT rn , score, class, sname from ( SELE
阅读全文
摘要:表一学生表 CREATE TABLE `student` ( `sid` int NOT NULL AUTO_INCREMENT, `stu_name` varchar(100) NOT NULL, `sex` varchar(40) NOT NULL, `score` varchar(40) NO
阅读全文
摘要:表一: 表二: -- 问题,表一是总库存表,表二是销售记录表求剩余库存 SELECT tsi.type, (tsi.last_count - if(t.sales, t.sales, 0) ) as remaining_invetory from t_shop_info tsi left join
阅读全文
摘要:CREATE TABLE t( c1 varchar(10) not null, c2 varchar(10) not null, c3 varchar(10) not null, c4 varchar(10) not null, c5 varchar(10) not null )ENGINE In
阅读全文
摘要:聚集索引 VS 非聚集索引 在上节介绍 B+ 树索引的时候,我们提到了图中的索引其实是聚集索引的实现方式。 那什么是聚集索引呢?在 MySQL 中,B+ 树索引按照存储方式的不同分为聚集索引和非聚集索引。 这里我们着重介绍 InnoDB 中的聚集索引和非聚集索引: ①聚集索引(聚簇索引):以 Inn
阅读全文
摘要:高效SQL编写规范建议 1、大批量插入数据 如果同时执行大量的插入,建议使用多个值的INSERT语句(方法二)。这比使用分开INSERT语句快(方法一),一般情况下批量插入效率有几倍的差别。 方法一: insert into tablename values(1,2); insert into ta
阅读全文
摘要:mysql安装包官网https://dev.mysql.com/downloads/mysql/5.7.html#downloads wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.25-linux-glibc2.12-x86
阅读全文
摘要:字段名,数据类型,数据长度及字段约束:class int(1) not null ; Int/bigint整型/长整型 宽度 Float 浮点型。就是小数 Date Char/vachar字符 char是固定长度的字符,而vachar字符 长度是可增长的 Int取值范围(±十位整数的十一位就不行,那
阅读全文
摘要:数据类型 /* 1 数字 number [小数,整数] number(5,3)表示总共5个数字,小数点后3个,最大值99.999 number(5) 表示整数 最大值99999 2 字符 char 定长字符 char(10) 如果没有达到10字符就用空格补充,他所占的大小总是10字符空间 varch
阅读全文
摘要:情景: student id stname sex score scoreid stname birth course id coursename age 简单说明 a,b ,c 三表a.name=b.name a.id=c.id 现在要查 id ,name ,course 有两种方法: selec
阅读全文
摘要:推荐w3挺好的基础网站:https://www.w3cschool.cn/t_sql/t_sql_date_functions.html =,<,>,> =,<=,IN,BETWEEN运算符包含等于 一.首先介绍多表查询常见方式: 嵌套查询: select a.id from t_job a whe
阅读全文