这是我的声明,我想做的是获得每个用户每个订单的平均金额,遇到问题并且不知道如何解决,感谢所有帮助
SELECT usuarios.email, AVG(pedidos_onlines.total),
CASE WHEN p.nombre like '%colombia%' and AVG(pedidos_onlines.total) <34873 then 'A'
WHEN p.nombre like '%colombia%' and AVG(pedidos_onlines.total) >= 52309 then 'B'
ELSE 'C'
end as SegmentColombia,
CASE WHEN p.nombre like '%peru%' and AVG(pedidos_onlines.total) <41 then 'A'
WHEN p.nombre like '%peru%' and AVG(pedidos_onlines.total) >= 62 then 'B'
ELSE 'C'
end as SegementPeru
CASE WHEN p.nombre like '%peru%' and AVG(pedidos_onlines.total) <13 then 'A'
WHEN p.nombre like '%peru%' and AVG(pedidos_onlines.total) >= 19 then 'B'
ELSE 'C'
end as SEGMENT Ecudador
FROM pedidos_onlines
LEFT JOIN usuarios ON usuarios.id = pedidos_onlines.usuario_id
LEFT JOIN ciudades as c on c.id = pedidos_onlines.ciudad_id
LEFT JOIN paises as p on p.id = c.pais_id
WHERE usuarios.email IS NOT NULL
GROUP BY usuarios.email, p.nombre
错误信息:
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,以在第 10 行的 'CASE WHEN p.nombre like '%ecuador%' 和 AVG(pedidos_onlines.total) <13 then 'A' ' 附近使用正确的语法