美好的一天。將Postgre中的列中的數字舍入爲最接近的整數
我有多個表格,裏面填充了關於國家的信息。其中一個表格包含每個國家的人口數字;另一個包含每種語言的發言者的百分比。
我們將採取這兩個數字,並列出一列,列出每種語言有多少發言者......基本上,我們將它們相乘。這很簡單。但是,並不簡單的是以我們應該的方式展示它們。
下面是我使用的查詢:
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
你看到不一致貫穿整個表格。
在此先感謝!
編輯:
我更新了網站,包括人口和百分比數字。希望這在某種程度上有所幫助。
使用ceil/floor/round可能有所幫助,但預期結果比實際小2個數量級,是對的還是缺少一些數字? – Marc 2013-02-11 01:35:03
它看起來像你的'country_language.percentage'被保存爲百分比即。 '75%',而不是小數即。 '.75'。所以,你的第一個步驟將是轉換的,然後用['輪()'](http://www.postgresql.org/docs/9.1/static/functions-math.html) – Sean 2013-02-11 01:37:38
肖恩, 百分比根據模式,數字被存儲爲實數。 – nerdenator 2013-02-11 01:43:30