如何根据多列计算 SQL 中的重复值

问题描述 投票:0回答:1

我有一个更大的数据库,其中包含购买的技术设备以及配件,并且我们指定客户是否请求帮助。 有一些产品(属于同一命令),客户购买了两种不同颜色的相同配件。 我需要计算以两种不同颜色指定相同配件的产品数量,并按发票和主要类别分组。

Data base sample

你能帮我吗?

此类案例的示例 example

我尝试了这段代码,但没有解决问题

SELECT `Major category`, COUNT(`Device`) FROM `tab` 
where `Invoice` IN
(select `Invoice`,`Major category`, `Device`,count(`Device`) 
from tab
group by `Invoice`,`Major category`, `Device` having count(`color`) > 1 )
GROUP BY `Major category`
sql phpmyadmin
1个回答
0
投票
SELECT `Invoice`, `Major category`, `Product`, COUNT(DISTINCT `Color`) AS color_count
FROM `tab`
GROUP BY `Invoice`, `Major category`, `Product`
HAVING COUNT(DISTINCT `Color`) > 1

希望有帮助

© www.soinside.com 2019 - 2024. All rights reserved.