MS SQL 数据库中男女人口统计分析

男女人口统计分析

在 MS SQL 数据库中,运用 SQL 语句进行男女人口统计分析是很常见的操作。以下将介绍如何实现这一操作。

1. 创建测试表

为了方便演示,我们先在数据库中创建一个测试表。

CREATE TABLE [dbo].[Population](

[ID] [int] IDENTITY(1,1) NOT NULL,

[Name] [nvarchar](50) NOT NULL,

[Gender] [bit] NOT NULL,

[Age] [int] NOT NULL)

GO

-- 插入测试数据

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('张三', 1, 18)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('李四', 1, 20)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('王五', 1, 22)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('赵六', 1, 24)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('小红', 0, 19)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('小明', 0, 23)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('小芳', 0, 25)

INSERT INTO [dbo].[Population](Name, Gender, Age) VALUES('小刚', 0, 27)

2. 统计男女人口数量

使用以下 SQL 语句,可以统计出男女人口数量:

SELECT

CASE Gender

WHEN 1 THEN '男性'

WHEN 0 THEN '女性'

END AS GenderText,

COUNT(*) AS Persons

FROM Population

GROUP BY Gender

ORDER BY Persons DESC

运行结果如下:

GenderText       Persons

男性                4

女性                4

从结果中可以看到,本例中男女人口数量都是4人。

3. 按年龄段统计男女人口数量

在现实生活中,我们常常需要统计不同年龄段的男女人口数量。以下是统计18岁以下、18至25岁、25岁以上三个年龄段的 SQL 语句:

SELECT

GenderText,

SUM(CASE WHEN Age<18 THEN 1 ELSE 0 END) AS AgeBelow18,

SUM(CASE WHEN Age BETWEEN 18 AND 25 THEN 1 ELSE 0 END) AS Age18To25,

SUM(CASE WHEN Age>25 THEN 1 ELSE 0 END) AS AgeAbove25

FROM (

SELECT

Gender,

CASE Gender

WHEN 1 THEN '男性'

WHEN 0 THEN '女性'

END AS GenderText,

Age

FROM Population

) AS temp

GROUP BY GenderText

运行结果如下:

GenderText       AgeBelow18  Age18To25  AgeAbove25

男性          0              2           2

女性          0              1           3

从结果中可以看到:

男性中18至25岁的人口最多,有2人;

女性中25岁以上的人口最多,有3人;

18岁以下的人口数量都是0。

总结

通过以上演示,我们可以看到在 MS SQL 数据库中进行男女人口统计分析是轻而易举的。

无论是统计男女人口数量还是按年龄段统计男女人口数量,只需要对 SQL 语句进行简单修改即可。这使得 SQL 成为了数据分析师的利器之一。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签