计算具有不同值的行

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

我在mysql中有一个表,我想要这个输出:

HNSHAK  MOBILE COMPUTING =13
HNSHAK  STORAGE           =2   

每次执行时,产品组都会更改。

表:

Productgroup    Created By
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
STORAGE             HNSHAK
MOBILE COMPUTING    HNSHAK
STORAGE             HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
MOBILE COMPUTING    HNSHAK
mysql rows
2个回答
1
投票

您的查询应该是这样的:

SELECT `Created By`, ProductGroup, COUNT(*) `Count`
FROM tablename
GROUP BY `Created By`, ProductGroup;

使用GROUP BY Created_By, ProductGroup和聚合函数COUNT

这会给你:

Created By  ProductGroup           Count
HNSHAK      MOBILE COMPUTING        13
HNSHAK      STORAGE                 2

0
投票
SELECT `Created_By`, `Productgroup`, COUNT(`Productgroup`)
FROM `table_name`
GROUP BY `Productgroup`

你应该在这里使用GROUP BY。你还应该记住,如果Created By中的所有值都不相同(比如其中一个是COMPANY1)那么你要么忽略Productgroup并选择表中出现的Productgroup的第一个值,要么你'每个_manufacturer都有多行Productgroup。要实现后者,你将以这种方式使用GROUP BY

GROUP BY `Created_By`, `Productgroup`
© www.soinside.com 2019 - 2024. All rights reserved.