1

私はこれを調査するのに何年も費やしましたが、質問に直接対処するものは何も見つかりませんでした.

どの顧客が他の顧客と「似ている」かを集計レベルで確認しようとしています。

別の列の特定の値に対して、ある列の重複値の数をカウントするにはどうすればよいですか?

以下の例では、「Customer 112」と「Customer 113」のレコードのうち、「Customer 111」に表示されている値と重複する変数値を持つレコードの数を知りたいと考えています。

答えは次のとおりCustomer 112 = 3 (27, 28 and 30 are all duplicates of values shown for Customer 111)ですCustomer 113 = 2 (24 and 26 are both duplicates of values shown for Customer 111)

Customer Variable 
111      21
111      22
111      23
111      24
111      26
111      27
111      28
111      29
111      30
112      23
112      27
112      28
112      30
112      31
112      33
112      35
113      24
113      26
113      33
113      35

出力は次のようになります。

Customer  Count
112        3
113        2

どんな提案でも大歓迎です。

4

2 に答える 2

1

これにより、次のことが得られます。

Customer  Count
112        3
113        2

コードは次のとおりです。

SELECT customer,count(variable) 
FROM t where variable in 
   (select variable from t where customer=111)
GROUP BY customer
HAVING customer!=111;

http://www.sqlfiddle.com/#!2/3b3bc/15で参照してください。

于 2013-07-30T03:22:11.350 に答える