0

我在 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
4

2 回答 2

1

您的查询应该是这样的:

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

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

这会给你:

Created By  ProductGroup           Count
HNSHAK      MOBILE COMPUTING        13
HNSHAK      STORAGE                 2
于 2013-04-14T08:18:22.957 回答
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`
于 2013-04-14T08:19:55.877 回答