如何使用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'
)
)
谢谢我还发现这个答案更适合解决问题,谢谢。我还发现这个答案更适合解决问题