sql - 在 Postgres 中转换为 Float 2 dp
问题描述
我正在尝试将 average_salary 和 total_salary 转换为浮点数 2 位小数,但我不断收到错误消息。我这样做正确吗?
错误:Test Failedexpected 2 to be a kind of Float
SELECT
j.job_title,
SUM(j.salary)/COUNT(p.id)::float, 2 AS average_salary,
COUNT(p.id) AS total_people,
SUM(j.salary):: float, 2 AS total_salary
FROM job j
JOIN people p
ON p.id = j.people_id
GROUP BY j.job_title
ORDER BY total_salary DESC
LIMIT 100
解决方案
试试这个:
SELECT j.job_title,
ROUND (AVG(j.salary), 2) ::FLOAT average_salary,
COUNT(p.id) total_people ,
ROUND (SUM(j.salary), 2) ::FLOAT total_salary
FROM people p
LEFT OUTER JOIN job j
ON (p.id = j.people_id)
GROUP BY j.job_title
ORDER BY average_salary DESC
推荐阅读
- c# - NotificationHub:如果使用相同的 PNS 句柄创建重复安装会怎样?
- ios - Http 调用不适用于 ionic 3 IOS 应用程序。在Android中工作正常
- reactjs - 使用道具的材质 UI 修改器类样式不起作用
- python-3.x - 在主列表中获取最小的数值,然后它出现的频率
- python-3.x - 为什么我在 Python3.6 中无法获取字典的键列表?
- r - 使用 R 然后统计分析按多列分组行
- nlp - 没有 Maxpool2d 时显示 Maxpool2d 错误
- javascript - 减少 React App 中 0.chunk.js 的加载时间
- python - 如何使用 MapReduce 在 python 中乘以矩阵?
- python - 通过多次加入自身表来创建新列