彩票走势图

数据库管理工具Navicat Premium使用教程:如何使用CASE和GROUP BY子句列出记录?

转帖|使用教程|编辑:鲍佳佳|2021-04-28 10:16:47.850|阅读 215 次

概述:ANSI SQL包含几个聚合函数,使您可以对一组值执行计算以将其结果作为单个值返回。这些包括Count(),Min(),Max(),Sum()和AVG()等。默认情况下,聚合函数适用于所有行,但是您可以通过将WHERE子句应用于SELECT语句来缩小字段的范围。

# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>

Navicat Premium是一个可连接多种数据库的管理工具,它可以让你以单一程序同时连接到MySQL、Oracle及PostgreSQL数据库,让管理不同类型的数据库更加的方便。

点击下载Navicat Premium最新试用版

*这么优秀的数据库工具怎能错过呢!在线下单专享“一口价”,查看折扣价!想要获取更多福利的朋友可以哦~


ANSI SQL包含几个聚合函数,使您可以对一组值执行计算以将其结果作为单个值返回。这些包括Count(),Min(),Max(),Sum()和AVG()等。默认情况下,聚合函数适用于所有行,但是您可以通过将WHERE子句应用于SELECT语句来缩小字段的范围。此外,您可以使用其他一些技术有条件地选择某些行,我们将在今天使用Navicat Premium探索这些技术。这些包括使用CASE语句以及GROUP BY子句。我们将这些技术应用于AVG()函数,但它们将与所有聚合函数同样有效。

使用AVG()函数

AVG()检索给定表达式的平均值。如果该函数找不到匹配的行,则返回NULL。我们将对Sakila示例数据库运行查询。它最初是为MySQL开发的,但此后已移植到大多数流行的DBMS。Navicat Premium是理想的数据库客户端,因为它支持从MySQL,MariaDB,MongoDB,SQL Server,Oracle,PostgreSQL到SQLite的所有内容。此外,它还与Amazon RDS,Amazon Aurora,Amazon Redshift,Microsoft Azure,Oracle Cloud,Google Cloud和MongoDB Atlas等云数据库兼容。

电影表存储有关虚构的Sakila视频租赁商店的各个电影的信息。列包括标题,描述,运行时间,租金,等级和其他。

Navicat使用教程:根据平均值列出记录

我们可以使用AVG()函数来确定所有电影的平均租赁成本,如下所示:

使用CASE语句

AVG()函数接受一个表达式。因此,它可以是列名,但可以是任何有效表达式。因此,我们可以通过将CASE语句作为参数传递给AVG()函数来有条件地应用AVG()函数。我们可以使用CASE语句确定只有PG评级的电影的平均Rental_rate,如下所示:

上面的查询显示了电影的总数,没有PG评级的电影,以及所有电影以及具有PG评级的电影的平均租金。使用CONCAT()和FORMAT()函数将rental_rate显示为货币。

使用GROUP BY子句

将AVG()仅应用于某些行的另一种方法是使用GROUP BY。它根据所选列汇总结果。因此,按评分分组结果将列出每个评分的平均Rental_rate:

我们可以使用WHERE和/或HAVING子句来缩小选择的行的范围。两者均可单独使用或串联使用。例如,下一个查询选择language_id为1(英语)的电影,其评分总数小于200:

结论

在今天的博客中,我们使用CASE语句和GROUP BY子句有条件地基于平均值列出电影记录。

查询在Navicat Premium 15中执行。它增加了100多个增强功能,并包括几个新功能,可为您提供比以往更多的构建,管理和维护数据库的方式!

相关内容推荐:

Navicat 使用教程>>>


想要购买Navicat Premium正版授权,或了解更多产品信息请点击
标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn

文章转载自:

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP