database - 如何在 PostgreSQL 中显示货币价值
问题描述
我的数据库查询如下,但我仍然无法正确显示货币值。请帮我。
SELECT SUM (orders.quantity * products.price) as total,
to_char((orders.quantity * products.price), '$99,999,999.99') AS money
FROM
orders
inner join products on products.id = orders.products_id
inner join customers on customers.id = orders.customers_id
WHERE order_date BETWEEN CURRENT_DATE - INTERVAL '30 days'
AND CURRENT_DATE + INTERVAL '1 days';
我的问题是我收到此错误:
ERROR: column "orders.quantity" must appear in the GROUP BY clause or be used in an aggregate function
解决方案
您并没有真正说出您的问题是什么,但是如果您使用FM
格式修饰符,如
SELECT to_char(12345.67, '$99,999,999.99FM');
to_char
------------
$12,345.67
(1 row)
结果可能更符合您的喜好。
要使查询正常工作,GROUP BY
请在末尾添加一个子句,例如
... GROUP BY money
推荐阅读
- javascript - 无法弄清楚如何使用 javascript 在浏览器中导入模块
- assembly - 如何在Assembly中使用for循环?
- python - 从 Artifactory 安装包并从 PyPI 安装依赖项
- javascript - 通过 NodeJS 以编程方式播放音频
- python - NaN时如何使用一列覆盖另一列并采用另一列值?
- python - 在python中的字典列表中改组键和值
- python - 乳胶颜色未在 matplotlib 文本中呈现
- r - 在数据框中的组内使用 dplyr 进行操作
- c++ - 如何在 C++ 程序中读取任何 csv 文件,而不仅仅是特定文件
- regex - 正则表达式 '[\w-]+(\.[\w-]+)*' 不匹配