estimate_item
つまり、固定精度の小数値を保持するいくつかの列を含む
MySQLテーブルがあります。これが私のテーブル構造です。
テーブル名 : 見積もり_アイテム
PHP を使用してレコードを取得するときに、MySQL の関数を使用していくつかの基本的な計算を行います。使用する SQL クエリは次のとおりです。
SELECT
COUNT(ei.item_id) as total_item,
SUM(ei.quantity) as total_quantity,
SUM(ei.number_of_carton) as total_carton,
SUM(ei.number_of_carton * ei.cbm_per_carton) as total_cbm,
SUM(ei.quantity * ei.cost) as total_cost,
SUM(ei.quantity * ei.rate) as total_rate,
e.commission_amount,
SUM(ei.quantity * ei.rate) + e.commission_amount as total_amount
FROM
ai_estimate e
LEFT JOIN
ai_estimate_item ei ON ei.estimate_id = e.id
WHERE
ei.estimate_id = ?
たとえば、上記のクエリは結果を返します。
+------------+----------------+--------------+-----------+------------+------------+-------------------+--------------+
| total_item | total_quantity | total_carton | total_cbm | total_cost | total_rate | commission_amount | total_amount |
+------------+----------------+--------------+-----------+------------+------------+-------------------+--------------+
| 2 | 120 | 807 | 1122.6440 | 2.7500 | 137.5000 | 1500.00 | 1637.5000 |
+------------+----------------+--------------+-----------+------------+------------+-------------------+--------------+
次の列には 4 つの精度値が含まれているため、total_cbm_total, total_cost, total_rate, total_amount
このように 4 つの列すべての値を切り上げたいと考えています。
a) 値が1122.6440
丸められる場合1122.644
b) 値が2.7500
丸められる場合2.75
c) 値が137.5000
丸められる場合137.50
d) 値が1200.0000
次に丸められる場合1200.00
つまり、値に最低でも 2 つの精度が含まれるようにしたいのですが、値に応じて最大 3 つまたは 4 つの精度になる可能性があります。
MySQLで直接これを行う方法はありますか? またはPHPの方法?
ありがとうございます。