SELECT
IF( trade_data.action = 'BUY' ) AVG( trade.data.price) AS 'BUYSUM',
IF( trade_data.action = 'SELL' ) AVG( trade.data.price) AS 'BUYSELL',
AVG( trade_data.percent ) AS peravg, symbol.id as sy_id
FROM trade_data
INNER JOIN symbol ON trade_data.symbol = symbol.id
GROUP BY symbol.id
我正在尝试计算行价AVG()
并想在我的查询中检查一些条件。
正如您在查询中看到的那样。我在查询中需要使用Inner JOIN
或任何内容的相同条件。
INNER
向我提供数据但不计算任何事情。
答案 0 :(得分:0)
您需要以这种方式将IF作为AVG函数的参数:
SELECT
AVG( IF( trade_data.action = 'BUY', trade.data.price, NULL )) AS 'BUYSUM',
AVG( IF( trade_data.action = 'SELL', trade.data.price, NULL)) AS 'BUYSELL',
AVG( trade_data.percent ) AS peravg,
symbol.id as sy_id
FROM trade_data
INNER JOIN symbol ON trade_data.symbol = symbol.id
GROUP BY symbol.id