首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL ZOO SELECTT与SELECT TUORIAL 5

SQL ZOO SELECTT与SELECT TUORIAL 5
EN

Stack Overflow用户
提问于 2021-06-09 13:27:05
回答 2查看 87关注 0票数 0

德国(8000万人口)是欧洲人口最多的国家。奥地利(人口850万)拥有德国11%的人口。

显示欧洲每个国家的名称和人口。显示德国人口占总人口的百分比。

格式应为Name,Percentage,例如:

代码语言:javascript
运行
复制
name    percentage
Albania 3%
Andorra 0%
Austria 11%

我的答案是

代码语言:javascript
运行
复制
SELECT name,Concat(ROUND(population*100/(select population from world where name = 'Germany'),0),'%')
FROM world
WHERE continent = 'Europe'

name    percentage
Albania 3.000000000000%
Andorra 0.000000000000%
Austria 11.000000000000%
EN

回答 2

Stack Overflow用户

发布于 2021-06-09 13:32:38

试试CAST it吧

代码语言:javascript
运行
复制
SELECT name, CONCAT(CAST(ROUND(population * 100/(select population from world where name = 'Germany'),0) AS INT),'%')
FROM world
WHERE continent = 'Europe'
票数 0
EN

Stack Overflow用户

发布于 2021-06-09 13:43:33

这有点奇怪,但是下面的SQL可以在SqlZoo上运行:

代码语言:javascript
运行
复制
select name,
       concat(cast (round(100 * population / (select population from world where name = 'Germany'), 0) as int), '%')
  from world
 where continent = 'Europe'

首先,您必须将结果转换为int,并将%符号连接到它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67898069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档