2017-02-22 5 views
1

私は、特定の値のすべての可能性を数えて表示する必要があるクエリでは苦労しています。SQLクエリ - いくつかの列の変数のすべてのカウントをカウントします。

----------------------- 
| value_found | count | 
----------------------- 
| a   | 3 | 
----------------------- 
| b   | 2 | 
----------------------- 
| c   | 1 | 
----------------------- 

はほとんど私が必要なものを私に与えた1ことを私が試したが、それはあまりにもです:私はこの

---------------------------- 
| field1 | field2 | field3 | 
---------------------------- 
| a | a | b | 
---------------------------- 
| c | b | a | 
---------------------------- 

ので、私は私のクエリは、このような何かを返したいようなテーブルを持っている想像してみて長くて理想的ではありませんので、どうもありがとうございます。

+0

この種の問題は、貧しいデザイン – Strawberry

+0

の症候性であることが実際に信じられないほどのひどいデザインですが、それは私がなされていませんでした! haha –

+0

まあそれはすべての権利です – Strawberry

答えて

2

あなたはunion allgroup byを使用することができます。

select field, count(*) 
from (select field1 as field from t union all 
     select field2 as field from t union all 
     select field3 as field from t 
    ) t 
group by field; 
+0

ええ、ありがとう、それはまさにそれです!それは、私が定期的な組合を使用していたことを除いて、ほとんど私が持っていたもので、私はそれぞれのインナーセレクトの中にカウントを書いていました... –

関連する問題