Mysql入门技能树-聚合和分组
2023-09-14 09:13:33 时间
聚合和分组
计数
Joe 建立了一个名为items的表
mysql> select * from items;
+----+-----------+
| id | item |
+----+-----------+
| 1 | 2 |
| 2 | NULL |
| 3 | 9 |
| 4 | 534214123 |
+----+-----------+
当他执行
select count(*), count(item)
from items;
会得到什么结果?
无正确答案
正确答案应该是4,3
知识点:
count(*)和count(1)都是统计表中所有的行数,包括null值的列
count(field)在列上统计个数,会忽略null值
求和
Joe 想要得到 orders 表
create table orders (
id int primary key auto_increment,
item_id int,
amount int,
unit_price decimal(12, 4),
total decimal(12, 4),
description varchar(2000),
ts timestamp default now(),
deal bool default false
);
中所有单价(unit_price)超过 1000 的订单中,已成交(deal 为 true)的总值(total),这个查询应该是:
正确答案是:D
A order by 是排序,没有限制deal 为 true
BC语法错误,having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚合函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。
最小值
Joe 想要得到 employee 表
create table employee
(
id serial primary key,
name varchar(256),
dept varchar(256),
salary decimal(12, 4)
);
中每个部门工资最低的员工的工资信息,这条查询应该怎么写?
正确答案是:A
BCD中min()函数用法错误,在有结果情况下也只是一条记录,不满足题意各个部门,况且D中的total都不是表中的字段
MIN()函数可以和GROUP BY语句一起使用,用来查询数据表中每个分组下的某列数据的最小值
最大值
利用员工信息表Joe 做了一些关于 max 函数的练习,其中不正确的是:
不正确的是:A
如果要得到每个部门工资最高的员工的全部信息,该怎么实现呢?
select
id,
name,
u1.dept,
u1.salary
from
employee u1
join (
select
dept,
max(salary) as salary
from
employee
group by
dept
) u2
on
u1.dept = u2.dept
and u1.salary = u2.salary
相关文章
- MySQL基础入门
- 学习MySQL:掌握数据库语言的魅力(mysql数据库语言)
- MySQL及其示例:从入门到精通。(mysql示例)
- MySQL高级开发:从入门到精通(mysql高级开发)
- MySQL数据库:入门指南(mysql数据库入门)
- 类型MySQL 中的时间类型深度探索(mysql数据时间)
- MySQL数据库轻松解锁:简单步骤带你入门(mysql数据打开)
- MySQL中查看用户密码的方法(mysql显示用户密码)
- 指引:入门MySQL(怎么进去mysql)
- MySQL JDBC 配置:一步一步构建持久连接。(mysql的jdbc配置)
- 入门MySQL参考手册:快速入门下载(mysql参考手册下载)
- MySQL快速入门:基本指令精通(mysql基本指令)
- 名MySQL 子查询中实现自定义字段名(mysql子查询字段)
- MySQL句柄:数据库连接必备技能(mysql句柄)
- 学习MySQL 集群视频学习:提升技能,搭建集群(mysql集群视频)
- PHP添加MySQL扩展:快速实现数据库连接(php添加mysql扩展)
- 文件MySQL导出数据:从数据库到文本文件(mysql导出数据到文本)
- MySQL入门指南:适合初学者的教程(mysql初学者书籍)
- 如何使用MySQL查找重复数据(mysql查找数据重复)
- 从入门到精通:掌握常用MySQL命令(常用的mysql命令)
- MySQL为了提高数据并发性和一致性,使用锁作为控制并发的工具(mysql 中为啥用锁)
- B站上的MySQL学习资源发掘你的技能(b站mysql学习资源)
- MySQL函数全面解析,帮助您轻松掌握SQL查询与管理技能(mysql中函数的解释)
- MySQL数据库如何不导出视图(mysql 不导出视图)
- GET MYSQL 免费下载并破解MySQL数据库软件(mysql下载和破解)
- MySQL三阶段学习入门,进阶和高级应用(mysql三阶段)
- MySQL注册服务失败的解决方法(mysql不能注册服务)