我有以下代码,我希望在一段时间内看到UPC的销售情况。如您所见,我有Select Distinct开始,但它仍然显示同一UPC的多个条目。
我希望它显示UPC,然后总结该UPC的值,如果有多个UPC。 有什么见解吗?
我有以下代码。 我发布了“Group By”评论,因为每次我尝试按UPC分组时,它都会给我一个错误,上面写着“选定的非聚合值必须是相关组的一部分。”
SELECT DISTINCT ir.region,
ir.upc,
ir.item_long_description,
ir.team_name,
ir.subteam_name,
brand,
p.sale_units,
p.sale_value
FROM prd_sales_cost_summary_v p
JOIN item_region_v ir
ON p.upc = ir.upc
AND p.pos_dept = ir.pos_dept --AND p.store_number = ir.store_number
WHERE ir.subteam_name = 'Frozen'
AND
--prd_idnt BETWEEN 201601 AND 201602 AND
prd_idnt = 201601
AND
--Change the region if needed
ir.region = 'RM'
--GROUP BY 2
ORDER BY p.sale_units DESC
答案 0 :(得分:3)
“所选的非聚合值必须是关联组的一部分。”
这意味着如果您在SELECT
列表中放置一个字段,则必须将其放在该组中。
所以
SELECT fieldA, fieldB, fieldC, SUM(*)
FROM YourTable
GROUP BY fieldA, fieldB, fieldC
另请注意,您的选择没有任何agreagation函数COUNT()
SUM()
AVG()