ジェーンと結婚:
私はこのようなテーブルを持っています。
user - item - ip
user1 - item1 - ip1
user2 - item2 - ip1
user3 - item3 - ip1
user1 - item1 - ip2
user2 - item2 - ip2
私はすべてを一覧表示したいip2
任意のユーザーに属し、含まれていますitem2
。また、これはip2
2列の最大値に存在する必要があります。それは、そのようなのように2回以上存在する場合ip1
、それを選択しないでください。
これどうやってするの?
離れて渡します:
IPとhaving句に条件を設定することによりグループ:
select ip
from tablename
group by ip
having sum(item = 'item2') > 0 and count(*) <= 2 and sum(user = 'user1') > 0;