当前位置: 首页 > news >正文

sql 去重求和_SQL知识大全(二):SQL的基础知识你都掌握了吗?

316618ff63eda52671a7be4e7d2069d1.png 4f0febaa0b3b773d437483bd4671246c.png

点击上方蓝字关注我们

今天是SQL系列的第二讲,会着重从SQL的基础语法出发,讲解去重,聚合函数,常用的数值处理函数,条件筛选和排序

165bb675771d5736de81ad39bfbc20b9.png

数据去重 f6baef016f4d9c05a630956c7f456264.png

Distinct数据去重

从Products中筛选出无重复的vend_id 。

#去除重复值SELECT DISTINCT vend_id FROM Products;
聚合函数 f6baef016f4d9c05a630956c7f456264.png

AVG()返回平均值

SELECT AVG(prod_price) AS avg_price FROM Products;

SUM() 汇总求和

SELECT SUM(quantity) AS items_ordered FROM OrderItemsWHERE order_num = 20005; 

COUNT()返回数量

#count(*)返回所有值,包括nullSELECT COUNT(*) AS num_custFROM Customers;#count(字段名)只返回该字段不为null的值SELECT COUNT(cust_email) AS num_custFROM Customers;

MAX()/MIN()求最大最小值

SELECT MAX(prod_price) AS max_price FROM Products;SELECT dt,       COUNT(*) AS num_items,       MIN(prod_price) AS price_min,       MAX(prod_price) AS price_max,       AVG(prod_price) AS price_avgFROM ProductsGROUP BY dt;
数值处理函数 f6baef016f4d9c05a630956c7f456264.png

数值处理函数主要是将数值型的数据转换为其余数,绝对值,余弦值,正切值等,具体用如下:

SELECT dt,       COUNT(*) AS num_items,       MOD(prod_price) AS price_mod,       ROUND(prod_price) AS price_round,       ABS(prod_price) AS price_abs,       SQRT(prod_price) AS price_sqrtFROM ProductsGROUP BY dt;
条件筛选 f6baef016f4d9c05a630956c7f456264.png

WHERE的用法

SELECT prod_name, prod_price FROM Products WHERE prod_price = 3.49; #ANDSELECT prod_id, prod_price, prod_name FROM Products WHERE vend_id = 'DLL01' AND prod_price <= 4; #ORSELECT prod_name, prod_price FROM Products WHERE vend_id = 'DLL01' OR vend_id = ‘BRS01’;

IN的用法

SELECT prod_name, prod_priceFROM ProductsWHERE vend_id IN ( 'DLL01', 'BRS01' )ORDER BY prod_name;

LIKE相关通配符

1.%通配符

#查找有bean bag的字段SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '%bean bag%';

2._下划线通配符

SELECT prod_id, prod_nameFROM ProductsWHERE prod_name LIKE '__ inch teddy bear';

3.[]通配符

#寻找J或M开头的姓名SELECT cust_contact FROM CustomersWHERE cust_contact LIKE '[JM]%'ORDER BY cust_contact;#此通配符之前加一个括号可以表示否定,即寻找不是J或M开头的人SELECT cust_contactFROM CustomersWHERE cust_contact LIKE '[^JM]%' ORDER BY cust_contact; 

HAVING分组过滤

#对价格为4元以上的商品统计其被购买次数,并筛选出被购买两次以上的商品SELECT vend_id, COUNT(*) AS num_prods FROM Products WHERE prod_price >= 4 GROUP BY vend_id HAVING COUNT(*) >= 2;
数据排序 f6baef016f4d9c05a630956c7f456264.png

ORDER BY 数据排序

SELECT prod_id, prod_price, prod_nameFROM ProductsORDER BY prod_price DESC, prod_name;#分组查询过滤排序SELECT order_num, COUNT(*) AS items FROM OrderItemsGROUP BY order_numHAVING COUNT(*) >= 3ORDER BY items, order_num;

参考书籍:《SQL必知必会》

d0badf2161c5ef77a1533af407de2b99.png 871936cbcfc6738cac5241b8c60b0f4c.png

SQL系列文章持续更新中

往期推荐

SQL知识大全(一):数据库的语言分类你都知道吗?

史上最全的SQL知识点汇总,错过这次在等一年

游戏行业指标体系大全(一)

游戏行业指标体系大全(二)

数据岗知识体系及岗位介绍

021ac340dcc2e0cba840fe5f94a29b7c.png 

分享数据知识,成就数据理想

相关文章:

  • python 希尔伯特变换_Python中HHT(希尔伯特-黄变换)以及其在EEG数据处理中的应用...
  • 广义表head tail 运算_数据结构习题解答:多维数组和广义表 | 选择题
  • python求中位数的怎么编写_python计算分位数方法
  • 在anaconda安装python命令_Anaconda入门:安装及包与环境的管理(conda命令)
  • python创建提示用户输入查询条件_pythone-2:用户登录并根据条件查询
  • crontab类型的任务python_Linux 上使用 crontab 设置定时任务及运行 Python 代码不执行的解决方案...
  • python epoll多路复用技术_python 网络编程 IO多路复用之epoll
  • python的数字运算_Python中数字的相关运算:数学运算及函数运算
  • python的开发环境有哪些特点_Python集成开发环境有哪些
  • 导出数据表 跳过autoincrease_aTimeLogger按周导出的数据报表
  • python基础网易_python零基础入门命令方式汇总大全,快速恶补你的Python基础
  • python tableview刚开始没有数据很丑_一个TableView(并没有)循环刷新的现象与正确的做法...
  • python mro c3_python的MRO和C3算法
  • word光标一直闪动_Word制作办公室会议签到表,详细步骤,新手也能自己做
  • pythonsys教程_python sys模块
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • css布局,左右固定中间自适应实现
  • Docker下部署自己的LNMP工作环境
  • ES6--对象的扩展
  • JS实现简单的MVC模式开发小游戏
  • JS专题之继承
  • Redis学习笔记 - pipline(流水线、管道)
  • SegmentFault 2015 Top Rank
  • spring学习第二天
  • Three.js 再探 - 写一个跳一跳极简版游戏
  • Tornado学习笔记(1)
  • ubuntu 下nginx安装 并支持https协议
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • 从0实现一个tiny react(三)生命周期
  • 当SetTimeout遇到了字符串
  • 给github项目添加CI badge
  • 前端面试之CSS3新特性
  • 我这样减少了26.5M Java内存!
  • 一道面试题引发的“血案”
  • 3月7日云栖精选夜读 | RSA 2019安全大会:企业资产管理成行业新风向标,云上安全占绝对优势 ...
  • LIGO、Virgo第三轮探测告捷,同时探测到一对黑洞合并产生的引力波事件 ...
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​ArcGIS Pro 如何批量删除字段
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • # 计算机视觉入门
  • #QT项目实战(天气预报)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (arch)linux 转换文件编码格式
  • (MATLAB)第五章-矩阵运算
  • (附源码)计算机毕业设计大学生兼职系统
  • (论文阅读40-45)图像描述1
  • (一)基于IDEA的JAVA基础10
  • (原创)boost.property_tree解析xml的帮助类以及中文解析问题的解决
  • ***通过什么方式***网吧
  • .cn根服务器被攻击之后
  • .gitignore
  • .jks文件(JAVA KeyStore)
  • .net Application的目录
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .php结尾的域名,【php】php正则截取url中域名后的内容