首页
学习
活动
专区
圈层
工具
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

SELECT单表查询进阶版

这是一个SQL基础入门系列文章,给有兴趣了解SQL的人一点帮助。每篇不会很长,我会尽量用最简洁的语言来进行描述。如果有问题,希望大家多指正。

在上一篇文章中我已经介绍了select语句的基本使用。今天这一篇文章想要讲一下select语句单表查询的一些汇总处理。

我们还是以上一篇文章中的表结构和表数据为例。

表创建后结构如下:cdm_pub.dim_pub_employee_d

目前表里有如下数据。

我们还是以问题的方式来解释一些常用的查询操作。

今天主要介绍count(),sum()和avg()这三种函数。

Count():统计次数,可用于任何类型字段,统计值出现次数。

Sum():计算总数,数值相加,只能用于数值型字段

Avg():计算平均数,只能用于数值型字段

1.公司目前有多少员工?

返回结果:

注:从上面查出来的结果可以看出,这里并没有使用where进行过滤,因为问题中要统计的是整个公司的员工,注意这里默认公司的员工记录是没有重复的。如果有重复那就要先去重再统计了。去重涉及到的是另一个关键字,以后再介绍。

2.公司目前男女员工各有多少人?

返回结果:

注:可以看到,这个问题跟上一个问题的不同之处在于多了一个性别字段。还多了group by关键字。这个是表示什么意思呢?其实就是起到分组的作用。Group by后面跟着的字段就是需要分组的字段。像这个例子中,group by跟着性别,那就是按性别进行分组统计了。

需要注意的是group by 中有什么字段,select中只能多,不能少,否则就会报错。例用,group by只有t.gender,这里select中除了t.gender,再多一个t.emp_name字段,那就会直接报错,会提示你t.emp_name字段不存在于group by中。有兴趣的小伙伴可以自己手动执行一下,印象会更深刻。

3.公司已婚和未婚的员工各有多少人?

返回结果:

注:这里跟问题2是类似的,需要注意的是group by后面跟着的不能是别名,而且也不能跟select中一样同时放字段和别名,需要把as和as后面的内容删除掉。否则也是会报错了。大家可以自己试一下。

4.公司整体的工资多少?

返回结果:

注:这里跟问题1是一样的,只是把统计次数换成了汇总金额。

5.公司男女员工的整体工资有多少?

返回结果:

注:这里跟问题2是类似的。同样也可以变成类似问题3,只要性别换成婚姻状况即可。有兴趣的小伙伴可以自己实操一下。

6.公司目前的平均工资多少?

返回结果:

注:这里跟问题1是一样的,只是把统计次数换成了平均数据。其实这个平均就是拿整体工资除于人数得出来的。只是这里直接使用函数一步到位了。

7.公司目前男女员工的平均工资有多少?

返回结果:

注:这里大家可以自己理解一下。

今天的文章就介绍到这里了,在下一篇文章中,我将给大家介绍一下表与表之间的关联。敬请期待~

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OysGFRy0viqbLtxDp0LFlS_g0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券