を一意の値を選択:行ごとに私は5つの列があるテーブル持っている別の列から
vote_1, vote_2, vote_3, vote_4 and vote_5
を、これらの列には名前が含まれていると私は今やろうとしていますが発生回数の合計を取得しています上記の列のすべての値の
最終的な結果は次のようなものでなければなりません:単一のSQLクエリでこれを達成するためにどのように
Value1 | 30
Value2 | 25
.....
?。
を一意の値を選択:行ごとに私は5つの列があるテーブル持っている別の列から
vote_1, vote_2, vote_3, vote_4 and vote_5
を、これらの列には名前が含まれていると私は今やろうとしていますが発生回数の合計を取得しています上記の列のすべての値の
最終的な結果は次のようなものでなければなりません:単一のSQLクエリでこれを達成するためにどのように
Value1 | 30
Value2 | 25
.....
?。
UNION
を使用すると、複数の列を1つにまとめることができます。次に、GROUP
とCOUNT
。
select vote, count(*) as cnt
from (
select vote_1 as vote from mytable
union all select vote_2 as vote from mytable
..
union all select vote_N as vote from mytable
) sub
group by vote
ポール、ありがとう、私の問題を解決しました。 –
@ArtemisChaitidisこれを正しい答えとして選択すると、彼に感謝することができます。 – shmosel
列が列挙されている(「2」より上)と、いつでもデザインの再考を開始する必要があります。 (プラス、私たちは 'different'の異なる定義を持っています) – Strawberry