select
DISTINCT
left(ProductClassName,LOCATE(">>",ProductClassName)-1) 一级品类,
sum(ProductNum+ProdutNumUpdate) 销量
from
lm_sh_order_settle_excel_aliexpress
where
SettlementDate between "2021-06-01" and "2021-06-30"
and
sku in(2538628,2565482,2165489,2025274,2051544,1814839,2204759,1853641,
1860895,2210660,2180455,2526731)
group by sku,ProductClassName
没有大神解答咩
因为你查询了两个字段,任意一个不同就会不一样。
你在外边再套一层,把 DISTINCT
放在外边
在做聚合操作的时候是根据SKU和ProductClassName做聚合的,那算出来的结果其实是同一个ProductClassName和SKU下的销量,而不是一级品类的销量,如果需要按照一级品类算销量,则应该按照一级品类做聚合。
解释一下distinct:distinct是对查询结果列做去重,查询的结果列都一样才会做去重,而就截图而言,“汽车配”的销量是不同的,
所以如果需要算出“汽车配”销量,应该按照一级品类做去重,如group by left(ProductClassName,LOCATE(">>",ProductClassName)-1)
回复不易,如果我的回复对你有所帮助的话,请记得采纳哦~
select DISTINCT * from (
select
left(ProductClassName,LOCATE(">>",ProductClassName)-1) 一级品类,
sum(ProductNum+ProdutNumUpdate) 销量
from
lm_sh_order_settle_excel_aliexpress
where
SettlementDate between "2021-06-01" and "2021-06-30"
and sku in(2538628,2565482,2165489,2025274,2051544,1814839,2204759,1853641,1860895,2210660,2180455,2526731)
group by sku,ProductClassName
)