1

再会。

我有多个表格,其中包含有关国家/地区的信息。其中一张表包含每个国家的人口数据;另一个包含每种语言的使用者百分比。

我们将取这两个数字并制作一个列,列出每种语言有多少说话者......基本上,我们将它们相乘。这很简单。然而,不简单的是以我们应该的方式显示它们。

这是我正在使用的查询:

SELECT country.name AS \"country\", 
       city.name AS \"capital\", 
       country_language.language, 
       (country.population * country_language.percentage) AS \"speakers\" 
FROM lab2.country, lab2.country_language, lab2.city 
WHERE country.country_code = country_language.country_code 
AND city.id = country.capital 
AND country_language.is_official = true
ORDER BY country.name, 
        (country_language.percentage * country.population) DESC;

这是第一个结果表格单元格填充的内容:

 1190528034.66797

这就是它应该是什么:

 11905280

通常,我只需将这些整数设为一种或另一种,这样就可以解决问题。但如您所见,我要四舍五入的数字不一定出现在小数点后。

我应该怎么做才能完成这些?

这是我的网站(您要选择的是查询 5):

http://babbage.cs.missouri.edu/~asm3kf/cs3380/lab2/lab2.php

这是我们应该匹配的页面:

http://babbage.cs.missouri.edu/~klaricm/cs3380/lab2/lab2.php

您会看到不一致贯穿整个表格。

提前致谢!

编辑:

我更新了网站以包括人口和百分比数字。希望这在某种程度上有所帮助。

4

1 回答 1

1

只是将方程结果四舍五入?

round(country.population * country_language.percentage) AS \"speakers\"

添加所需的更改以适应百分比格式:

round(country.population * (country_language.percentage / 100)) AS \"speakers\"

The division MIGHT truncate/round the result for you anyway, I don't have PostgreSQL at hand to test.

于 2013-02-11T01:33:16.830 回答