如何使用mysql查询进行划分

如何使用mysql查询进行划分,mysql,Mysql,这是我的问题 SELECT currency_code, SUM( CASE WHEN TYPE = 'buy' THEN to_amount END ) AS BUY, SUM( CASE WHEN TYPE = 'sell' THEN to_amount END ) AS SELL, SUM( CASE WHEN TYPE = 'sell' THEN rate END ) AS SELL_RATE, SUM( CASE WHEN TYPE = 'buy' THEN rate END ) AS

这是我的问题

SELECT currency_code, SUM(
CASE
WHEN TYPE = 'buy'
THEN to_amount
END ) AS BUY, SUM(
CASE
WHEN TYPE = 'sell'
THEN to_amount
END ) AS SELL, SUM(
CASE
WHEN TYPE = 'sell'
THEN rate
END ) AS SELL_RATE, SUM(
CASE
WHEN TYPE = 'buy'
THEN rate
END ) AS BUY_RATE
FROM tb_currency
LEFT JOIN tb_bill ON tb_currency.CURRENCY_ID = tb_bill.CURRENCY_ID
AND tb_bill.TYPE
IN (
'buy', 'sell'
)
输出是

现在我想将买入字段中的值除以买入率字段中的值。我以前尝试过几个查询,得到错误消息“Unknown column type BUY”。
如何解决这个问题?

你需要做一个子选择,类似这样的事情

SELECT *, (BUY/BUY_RATE) AS DIV_VALUE FROM (
    SELECT currency_code, SUM(
    CASE
    WHEN TYPE = 'buy'
    THEN to_amount
    END ) AS BUY, SUM(
    CASE
    WHEN TYPE = 'sell'
    THEN to_amount
    END ) AS SELL, SUM(
    CASE
    WHEN TYPE = 'sell'
    THEN rate
    END ) AS SELL_RATE, SUM(
    CASE
    WHEN TYPE = 'buy'
    THEN rate
    END ) AS BUY_RATE
    FROM tb_currency
    LEFT JOIN tb_bill ON tb_currency.CURRENCY_ID = tb_bill.CURRENCY_ID
    AND tb_bill.TYPE
    IN (
    'buy', 'sell'
    )
)

你需要做一个子选择,像这样的

SELECT *, (BUY/BUY_RATE) AS DIV_VALUE FROM (
    SELECT currency_code, SUM(
    CASE
    WHEN TYPE = 'buy'
    THEN to_amount
    END ) AS BUY, SUM(
    CASE
    WHEN TYPE = 'sell'
    THEN to_amount
    END ) AS SELL, SUM(
    CASE
    WHEN TYPE = 'sell'
    THEN rate
    END ) AS SELL_RATE, SUM(
    CASE
    WHEN TYPE = 'buy'
    THEN rate
    END ) AS BUY_RATE
    FROM tb_currency
    LEFT JOIN tb_bill ON tb_currency.CURRENCY_ID = tb_bill.CURRENCY_ID
    AND tb_bill.TYPE
    IN (
    'buy', 'sell'
    )
)

谢谢我还发现这个答案更适合解决问题,谢谢。我还发现这个答案更适合解决问题