MySQL,计算表中每个字段的值

时间:2017-10-19 10:12:42

标签: mysql

我有一个包含32个产品的表格。每个字段中的可能值为H,M和L.

模拟我的表格结构

Product 1   Product 2   Product 3   Product 4   Product 5   ...
H           M           M           L           L           ...     
H           H           M           L           L           ...     
H           H           H           H           L           ...     
M           M           M           L           H           ...     
H           M           M           L           L           ...     

我知道我能做到

SELECT COUNT(product_1) AS product_1_count FROM products WHERE product_1 = H

SELECT COUNT(product_1) AS product_1_count FROM products WHERE product_1 = L

SELECT COUNT(product_1) AS product_1_count FROM products WHERE product_1 = L

我想知道是否有更快的方法可以做到这一点,因为我有32个产品。您可以在1个SQL语句或至少3个SQL语句中执行此操作,而不是单独选择每个产品。

1 个答案:

答案 0 :(得分:0)

每种产品都有单独的列吗? product_1,product_2等?

您至少可以按产品分组:

SELECT product_1,count(*)FROM products group by product_1

您是否需要为每个字段(product_1,product_2 ...)计数H,M,L ...或仅计数(product_1),计数(product_2)......?