python和mysql中的矩阵乘法

Dav*_*542 4 python mysql sql math

我有一个货币兑换字典,如下:

exchange_rates = {'USD': 1.00000,
                  'EUR': 1.32875,
                  'GBP': 1.56718, ...}
Run Code Online (Sandbox Code Playgroud)

然后我使用以下方法检索产品的销售信息:

SELECT price, currency FROM sales
Run Code Online (Sandbox Code Playgroud)

可能有一百万行,可能如下所示:

- 2.99    USD
- 3.01    EUR
- etc.
Run Code Online (Sandbox Code Playgroud)

我如何进行矩阵乘法以获得美元的总和?

Mar*_*ers 5

不是从数据库中获取一百万行并在Python中进行计算,而是将字典提供给数据库并让数据库进行计算并将结果发回给您.

您可以通过进行类似以下的查询来执行此操作:

SELECT SUM(price * exchange_rate) AS total
FROM sales
LEFT JOIN
(
    SELECT 'USD' AS currency, 1.00000 AS exchange_rate
    UNION ALL
    SELECT 'EUR', 1.32875
    UNION ALL
    SELECT 'GBP', 1.56718
    -- ...
) AS exchange
ON exchange.currency = sales.currency
Run Code Online (Sandbox Code Playgroud)