2014-11-20 2 views
-2

Я ищу помощь, чтобы сделать запрос MySQL.Как выполнить математические вычисления для каждой записи в MySQL

Я хочу рассчитать комиссию для каждого продукта, который у меня есть на планшете, а затем создать общую сумму за цену и комиссионные.

Общая цены можно легко вычислить, используя SUM (цена) , например:

SELECT SUM(price) FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed" 

На том же запросе, как я могу рассчитать комиссию каждого продукта, а затем добавить его в общей сложности комиссий?

Например

продукта А: $ 30 (цена продукта) х 3% (Commision) = $ 0.90 (комиссия)

продукта В: $ 70 (цена продукта) х 7% (комиссионный) = $ 4,90 (комиссия)

общее количество каждого продукта будет 30 + 70 = 100, а общая комиссионной будет 0,90 + 4,90 = 5,80

Так в конце мой запрос будет повторно поверните назад 100 и 5.80. Как я могу сделать это в MySQL?

Спасибо

+2

'выберите цена * 0,03 в threepercent из ...'. выполняйте любую математику, которую вы хотите в запросе. –

+0

SELECT SUM (цена) AS TOTAL, SUM (SELECT price * comm FROM FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Завершено" вот так? –

+1

нет. просто 'сумма (цена * комиссия)'. агрегированные функции типа sum() - применяются для каждой строки, поэтому вы можете ссылаться на любые поля, которые вы хотите, в результирующий набор. нет необходимости в дополнительном запросе. –

ответ

0

Вот как я решил, что

SELECT (SELECT SUM(price) FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") AS TOTAL , (SELECT SUM(price * commision) FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") AS commission FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed") FROM PRODUCTS_TABLE WHERE ORDER_STATUS = "Completed" 
Смежные вопросы