随笔分类 -  sql

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

点击右上角即可分享
微信分享提示