私のテーブルは次のようになります。
# Table user
user_id PK
...
# Table buy
buy_id PK
user_id FK
...
# Table offert
offert_id
user_id
...
さて、1人の「ユーザー」の最後の「購入」を知り、この「ユーザー」が持っている「オファー」の数を取得する必要があります。次のようなことを試しました:
select b.buy_id,count(distinct c.offert_id) as cv from user a
inner join buy b using(user_id) left join offert c using(user_id) where a.user_id=4
group by a.user_id order by b.buy_id desc
ただし、最後ではなく常に最初の「購入」を返します。この順序は何の効果もないように見えます
私はサブクエリでそれを行うことができることを知っていますが、おそらく最大関数を使用してサブクエリを使用する方法があるかどうかを知りたいのですが、それを行う方法をidkします。
ありがとう。