2
を作ることによって、全体のグループでカウントSQL要求:私はこのデータベースを持っている</p> <p>:私は現在、単純な要求...にブロックされています、同じライン上の割合
order | couple | first | second
-------------------------------
1 | A-B | A | B
2 | A-D | A | D
3 | A-C | A | C
4 | A-B | A | B
5 | Y-Z | Y | Z
I 1行で取得したいと考えています:
order | count | total | percentage
-------------------------------
A-B | 2 | 4 | 50%
A-D | 1 | 4 | 25%
A-C | 1 | 4 | 25%
Y-Z | 1 | 1 | 100%
私は最初の部分を見つけるのは大丈夫です。カウント...しかし、合計とパーセンテージ(サブクエリを使用する代わりに)に参加することはできません...:私は結合をしようとすると、多くの異なるエラーが発生しました。
最初の部分のための私の要求:第二部のための
SELECT couple,count(couple)
FROM DATA d1
WHERE exists (
SELECT *
FROM DATA d2
WHERE d1.first = d2.first)
GROUP BY d1.couple;
マイリクエスト:
SELECT first, count(first)
FROM DATA
GROUP BY first;
誰かがヒントをGOTS?
!あなたはとても素早いです:o!しかし、合計で私は数を望んでいないが、私は合計が欲しい...:私の製品は4倍であるので、2/2ではない2/2 –
それ以上:select couple、count(*)(count(*)* 1.0/sum(count(*))over)(最初のパーティションによる)over from dico1 グループによる合計(count(*)) 、 最初; でも、ありがとうございました! –
残念ながら、私のデータのために問題があることが分かりました(いくつかの製品Aは2番目にあります)。だから私はAが同じ行に単独でいる別のテーブルから数えたいと思う:Order |製品(A)。私はそれを同じ方法で管理できますか、それとも別の要求ですか? –