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

SQL 使用心得【持续更新】

  • COUNT(字段) 不会统计 NULL 值,但是COUNT(*)会
  • 只要有子查询,就需要给子查询定义别名!
  • where 后面的条件表达式中不能存在聚合函数,但是 Having 可以
  • 聚合函数基本上都是需要配合 group by 使用(除非把当前全局的数据当做一个分组),否则查询粒度无法保证,一般聚合函数之外的字段都要放到 group by 之后
  • 执行顺序:from > on > where > group by > having > select > distinct > order by > top。但是 group by 和 having 都可以使用 select 后面定义的别名,但是 where 后面不能使用 select 中定义的别名
  • where 是基于行进行过滤,而 having 是基于组进行过滤
  • NULL 占用空间(不管是 MySQL 还是 Hive),但是 '' 不占用空间
  • MySQL中没有Boolean,而是用Tinyint(1)去接收。TINYINT(1) 类型可以存储 0 或 1,分别对应 false 或 true。
  • 笛卡尔积可以通过 join 但是忽略 on 条件实现(MySQL 还提供了 cross join,但是 Hive 没有)
  • 聚合函数中并不是必须得是字段名,也可以是表达式
-- 查询每个部门中年龄大于 50 的员工数 
SELECTdept_id,COUNT(age) cnt
FROMdepartment
GROUP BYdept_id
HAVINGage > 50-- 等同于SELECTdept_id,COUNT(age > 50) cnt
FROMdepartment
GROUP BYdept_id
  • select 语句也可以作为一个字段,前提是查询结果只能有一个字段
-- 有两张表:Register 和 Users 
-- 查询用户的注册率
SELECTcontest_id,ROUND(COUNT(DISTINCT user_id)/(SELECT COUNT(*) FROM Users)*100,2) percentage
FROMRegister
GROUP BYcontest_id
ORDER BYpercentage DESC,contest_id

 

相关文章:

SQL 使用心得【持续更新】

COUNT(字段) 不会统计 NULL 值,但是COUNT(*)会只要有子查询,就需要给子查询定义别名!where 后面的条件表达式中不能存在聚合函数,但是 Having 可以聚合函数基本上都是需要配合 group…...

基于Spring Boot的高校图书馆管理系统

项目和论文都有企鹅号2583550535 基于Spring Boot的图书馆管理系统||图书管理系统_哔哩哔哩_bilibili 第1章 绪论... 1 1.1 研究背景和意义... 1 1.2 国内外研究现状... 1 第2章 相关技术概述... 2 2.1 后端开发技术... 2 2.1.1 SpringBoot 2 2.1.2 MySQL.. 2 2.1.3 My…...

python(4) : pip安装使用国内源

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests...

让写书人勇敢穿越纸海的迷雾

坚守纸海:让写书人勇敢穿越纸海的迷雾 你作为一位写书人,在创作过程中你需要坚守初心是非常重要的。在创作的过程中,你会遇到各种挑战和困难,你要勇敢面对迷雾中的挑战,并通过不懈的努力和决心,成功地穿越…...

ROS2学习——节点话题通信(2)

目录 一、ROS2节点 1.概念 2.实例 (1)ros2 run (2)ros2 node list (3)remapping重映射 (4)ros2 node info 二、话题 (1) ros2 topic list &#xf…...

【Spring Boot】深度复盘在开发搜索引擎项目中重难点的整理,以及遇到的困难和总结

💓 博客主页:从零开始的-CodeNinja之路 ⏩ 收录文章:【Spring Boot】深度复盘在开发搜索引擎项目中重难点的整理,以及遇到的困难和总结 🎉欢迎大家点赞👍评论📝收藏⭐文章 目录 什么是搜索引…...

配置docker阿里云镜像地址

一、安装docker的步骤: 1.yum install -y yum-utils 2.yum-config-manager --add-repo http://mirrors.aliyun.com/docker- ce/linux/centos/docker-ce.repo --配置阿里云仓库3.yum makecache fast4.yum install docker-ce -y5.docker version …...

ICML 2024 Mamba 论文总结

2024ICML(International Conference on Machine Learning,国际机器学习会议)在2024年7月21日-27日在奥地利维也纳举行 🌟【紧跟前沿】“时空探索之旅”与你一起探索时空奥秘!🚀 欢迎大家关注时空探索之旅 …...

Sass详解

Sass简介 Sass(Syntactically Awesome Stylesheets)是一种CSS预处理器,它在CSS的语法基础上添加了一些功能和语法糖,提供了更强大和灵活的样式表语言。 Sass可以通过定义变量、嵌套规则、混合、继承等功能,帮助开发者…...

如何实现一个高效的排序算法?

要实现一个高效的排序算法,可以考虑以下几个方面: 1.选择合适的排序算法:根据数据规模和特点选择合适的排序算法。例如,对于小规模的数据可以选择插入排序或选择排序,而对于大规模数据可以选择归并排序或快速排序。 …...

Linux--10---安装JDK、MySQL

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 安装JDK[Linux命令--03----JDK .Nginx. 数据库](https://blog.csdn.net/weixin_48052161/article/details/108997148) 第一步 查询系统中自带的JDK第二步 卸载系统中…...

【大数据】MapReduce JAVA API编程实践及适用场景介绍

目录 1.前言 2.mapreduce编程示例 3.MapReduce适用场景 1.前言 本文是作者大数据系列专栏的其中一篇,前文我们依次聊了大数据的概论、分布式文件系统、分布式数据库、以及计算引擎mapreduce核心概念以及工作原理。 书接上文,本文将会继续聊一下mapr…...

图像分类和文本分类(传统机器学习和深度学习)

1. 传统机器学习—决策树 1.1 图像分类代码 from sklearn import tree from sklearn.datasets import load_iris from sklearn.model_selection import train_test_split# 加载数据集 iris load_iris() X, y iris.data, iris.target# 划分数据集 X_train, X_test, y_train,…...

基于SpringBoot和Hutool工具包实现的验证码案例

目录 验证码案例 1. 需求 2. 准备工作 3. 约定前后端交互接口 需求分析 接口定义 4. Hutool 工具介绍 5. 实现验证码 后端代码 前端代码 6. 运行测试 验证码案例 随着安全性的要求越来越高,目前项目中很多都会使用验证码,只要涉及到登录&…...

python-找出四位数中的玫瑰花数

【问题描述】玫瑰花数指一个n位数(n>4),其每位上的数字的n次幂之和等于本身。 请求出所有四位数中的玫瑰花数 【输入形式】 【输出形式】 【样例输入】 【样例输出】1634 8208 9474 【样例说明】 【评分标准】 完整代码如下: for n in ra…...

Linux-命令上

at是一次性的任务,crond是循环的定时任务 如果 cron.allow 文件存在,只有在文件中出现其登录名称的用户可以使用 crontab 命令。root 用户的登录名必须出现在 cron.allow 文件中,如果这个文件存在的话。系统管理员可以明确的停止一个用户&am…...

青鸟云报修系统:实现高效、便捷的维修申请处理

在日常生活和工作中,故障报修难免会遇到,售后报修服务则成为了解决问题的关键。纸质化售后报修维修申请单,作为报修流程中的重要一环,在一定程度上能够记录和追踪售后报修维修流程,但在实际操作过程中却存在着诸多弊端…...

Python解析网页

目录 1、Beautiful Soup 2、解析数据 3、遍历文档树 4、搜索文档树 一、Beautiful Soup 1、什么是Beautiful Soup 定义:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库. 功能:它能够通过你喜欢的转换器实现惯用的文档导航,查找,修…...

IDEA连接MySQL后如何管理数据库

上一节讲解了IDEA如何连接MySQL数据库管理系统,接下来我们就可以在IDEA里使用MySQL来管理数据库了。那么如果我们现在还没有创建需要的数据库怎么办?本节就来教大家如何在IDEA连接MySQL后管理数据库(创建/修改/删除数据库、创建/修改/删除表、插入/更新/…...

linux新机快速配置ssh

配置SSH以实现证书登录 要配置新的Linux机器以实现证书登录,您需要执行以下步骤: 安装SSH服务器: sudo apt-get install openssh-server修改SSH端口(可选): SSH配置文件(通常位于/etc/ssh/sshd…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

iOS 26 携众系统重磅更新,但“苹果智能”仍与国行无缘

美国西海岸的夏天,再次被苹果点燃。一年一度的全球开发者大会 WWDC25 如期而至,这不仅是开发者的盛宴,更是全球数亿苹果用户翘首以盼的科技春晚。今年,苹果依旧为我们带来了全家桶式的系统更新,包括 iOS 26、iPadOS 26…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

用docker来安装部署freeswitch记录

今天刚才测试一个callcenter的项目,所以尝试安装freeswitch 1、使用轩辕镜像 - 中国开发者首选的专业 Docker 镜像加速服务平台 编辑下面/etc/docker/daemon.json文件为 {"registry-mirrors": ["https://docker.xuanyuan.me"] }同时可以进入轩…...

Swagger和OpenApi的前世今生

Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...

服务器--宝塔命令

一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...

Yolov8 目标检测蒸馏学习记录

yolov8系列模型蒸馏基本流程,代码下载:这里本人提交了一个demo:djdll/Yolov8_Distillation: Yolov8轻量化_蒸馏代码实现 在轻量化模型设计中,**知识蒸馏(Knowledge Distillation)**被广泛应用,作为提升模型…...

鸿蒙(HarmonyOS5)实现跳一跳小游戏

下面我将介绍如何使用鸿蒙的ArkUI框架,实现一个简单的跳一跳小游戏。 1. 项目结构 src/main/ets/ ├── MainAbility │ ├── pages │ │ ├── Index.ets // 主页面 │ │ └── GamePage.ets // 游戏页面 │ └── model │ …...

【笔记】AI Agent 项目 SUNA 部署 之 Docker 构建记录

#工作记录 构建过程记录 Microsoft Windows [Version 10.0.27871.1000] (c) Microsoft Corporation. All rights reserved.(suna-py3.12) F:\PythonProjects\suna>python setup.py --admin███████╗██╗ ██╗███╗ ██╗ █████╗ ██╔════╝…...

高保真组件库:开关

一:制作关状态 拖入一个矩形作为关闭的底色:44 x 22,填充灰色CCCCCC,圆角23,边框宽度0,文本为”关“,右对齐,边距2,2,6,2,文本颜色白色FFFFFF。 拖拽一个椭圆,尺寸18 x 18,边框为0。3. 全选转为动态面板状态1命名为”关“。 二:制作开状态 复制关状态并命名为”开…...