2017-10-19 4 views
0

私は製品を構成する32のフィールドを持つテーブルを持っています。各フィールドの可能な値私はMySQL、テーブルのすべてのフィールドの値をカウント

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 

を行うことができます知っている私のテーブル構造

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   ...  

の最大H、MとL.

モックです私は32個の製品を手に入れてから、これを行うより速い方法があるのだろうかと思っていました。すべての製品を個別に選択するのではなく、1つのSQL文または少なくとも3つのSQL文で実行できますか?

+0

これは一見したところ、悪いデータモデルのようです。アドバイスを得るためにこれにリクエストを追加することができます。別のデータモデルでは、たぶんクエリーの書き方がずっと簡単になります。 –

答えて

0

商品ごとに別々の列がありますか? product_1、product_2など?あなたはH、M、Lカウント...フィールドごとに(

SELECT product_1、product_1

により製品 グループから(*)数える必要がありますか:あなたは、少なくとも製品別グループの可能性が

product_1、product_2 ...)またはcount(product_1)、count(product_2)...のみ?

+0

はい、製品ごとに別々の列があります。そして、私は各製品のH、M、Lを数える必要があります。 –

関連する問題