私はuser_idとpurchase_idを持つテーブルを持っています。 2回以上購入したユーザー(つまり、そのユーザーの2つ以上の行がテーブルにある)のみが表示されるように、表をフィルタリングします。私は数とグループを使用しましたが、それは私が望む方法では動作しません。グループなしのSQLカウント
create view myview as
select user_Id, purchase_id, count(*) as count from mytable group by user_Id;
select user_id, purchase_id from myview where count >2;
しかし、それは私に2つ以上の購入があり、それは私に彼らの購入のすべてを与えるものではありませんユーザーのみ(一つだけのuser_id)を提供します。
user_id purchase_id
1 1212
1 1312
2 1232
1 1321
3 1545
3 4234
私のクエリは私にこの提供します:たとえば、テーブルは次のように見える場合
1 1212
3 1545
しかし、私はこれ欲しい:
1 1212
1 1312
1 1321
3 1545
3 4234
'GROUP BY'を使うなら' user_Id、purchase_id、count(*) '、あなたが索引を付けた列以外の他の列を追加することはお勧めしません。 –
本当に人々がなぜ私の質問を下落させるのか理解していない。これは私の知性のレベルです。私はこれよりも賢明ではないので、これらは私の質問のレベルです。あなたが私よりもスマートな人なら、申し訳ありません。それはあなたのための質問の高レベルではない場合は、それを無視する、なぜあなたはそれをdownvoteですか? – HimanAB
いいえ私はそれをdownvoteしなかった –