显示错误[You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version]
不知道哪里出了问题
SELECT j_trade_order_receiver.state, j_trade_order_assembly_goods.goods_name, rank FROM
(SELECT state,
goods_name,
ROW_NUMBER( ) OVER (PARTITION BY state ORDER BY SUM(DISTINCT a.customer_id ) DESC ) as rank
FROM j_trade_order a
LEFT JOIN j_trade_order_receiver ON a.trade_id= j_trade_order_receiver.trade_id
LEFT JOIN j_trade_order_assembly_goods ON a.trade_id = j_trade_order_assembly_goods.trade_id
WHERE
a.trade_status NOT IN ('5010', '5020', '5030')
AND a.is_delete = 0
AND a.trade_time >= '2022_02_01'
AND a.trade_time <= '2022_03_01'
GROUP BY a.state, j_trade_order_assembly_goods.goods_name)
WHERE rank <= 5
ORDER BY state,good_name
是不是SELECT state,goods_name, rank FROM 就行啊
from()后面应该要起个别名
你窗口函数里面的那个排序排的是什么东西?客户id去重求和?统计销量最高不是应该用销量字段么?如果一个客户购买了多次难道你只统计一次?
另外,建议你把这3个表的create table 发出来一下,方便答题的人进行调试