SUM and COUNT求和AND计数

本文介绍了SQL的基础查询操作,包括求总人口、显示唯一大陆、计算区域GDP、筛选大面积国家、多国人口总和、统计各大陆国家数量、筛选人口超千万国家及大陆、以及确定人口超亿大陆。内容覆盖了SQL的基础聚合函数如SUM和COUNT,以及DISTINCT、WHERE和GROUP BY子句的应用。
摘要由CSDN通过智能技术生成

SQL的设置是mysql,,,如果选用MSsql可能出错(MicrosoftSQL)

直接就是答案,不同人答案可能不同,结果对就行,以后再考虑运行效率问题。毕竟现在就是先学习能用(答案均有验证如果提示错误再试一下,还是不行可以打在评论区)

如果有更好答案的可以打在评论区

1.

Show the total population of the world.

SELECT SUM(population) FROM world

2.

List all the continents - just once each.

SELECT DISTINCT(continent) FROM world

3.

Give the total GDP of Africa

SELECT SUM(GDP) FROM world
WHERE continent = 'Africa'

4.

How many countries have an area of at least 1000000

SELECT COUNT(name) FROM world
WHERE area >=1000000

5.

What is the total population of ('Estonia', 'Latvia', 'Lithuania')

SELECT SUM(population) FROM world
WHERE name IN ('Estonia', 'Latvia', 'Lithuania')

6.

For each continent show the continent and number of countries.

SELECT continent, COUNT(name) FROM world
GROUP BY continent

7.

For each continent show the continent and number of countries with populations of at least 10 million.

SELECT continent, COUNT(name) FROM world
WHERE population >=10000000
GROUP BY continent

8.

List the continents that have a total population of at least 100 million.

SELECT continent FROM world
WHERE population >=10000000
GROUP BY continent
HAVING SUM(population) > 100000000

在Oracle数据库中,如果需要对两个表中的相同字段进行求和SUM)或计数COUNT),可以使用联结查询(JOIN)或子查询(Subquery)来实现。以下是使用SQL语句进行操作的示例。 假设我们有两个表:`table1` 和 `table2`,它们都包含了一个名为 `amount` 的字段,我们想要计算这两个表中 `amount` 字段的总和以及非空记录的数量。 首先,使用联结查询(JOIN)的方式: ```sql SELECT SUM(t1.amount) AS total_sum, COUNT(t1.amount) AS total_count FROM table1 t1 JOIN table2 t2 ON t1.some_id = t2.some_id; ``` 这个查询会把 `table1` 和 `table2` 中的记录根据 `some_id` 字段匹配的行进行求和计数。 使用子查询(Subquery)的方式: ```sql SELECT SUM((SELECT amount FROM table1 WHERE table1.some_id = table2.some_id)) AS total_sum, COUNT((SELECT amount FROM table1 WHERE table1.some_id = table2.some_id)) AS total_count FROM table2; ``` 这个查询会将 `table2` 中的每一行都与 `table1` 中相关联的行进行求和计数。 如果表之间没有关联的字段,但是你仍然需要对两个表的字段进行求和计数,可以将两个表的字段值进行分别求和,然后求和的结果再次求和。例如: ```sql SELECT (SELECT SUM(amount) FROM table1) + (SELECT SUM(amount) FROM table2) AS total_sum, (SELECT COUNT(amount) FROM table1) + (SELECT COUNT(amount) FROM table2) AS total_count; ``` 这个查询将会分别对 `table1` 和 `table2` 的 `amount` 字段进行求和计数,然后将结果相加。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值