0

インセンティブIDとrecipientIDの両方に基づいて、引き換えたテーブルから「カウント」を取得し、それを次のクエリに追加するにはどうすればよいですか。

SELECT recipient.*, incentive.*
            FROM recipient 
            INNER JOIN incentive ON recipient.incentiveID=incentive.incentiveID
            WHERE recipient.mobile = :mobile 
            AND recipient.incentiveID = :incentiveID"

以下のクエリは、受信者とインセンティブのデータを返します。これを拡張して、受信者が引き換えた回数を「カウント」したいと思います。つまり、redeemCount

引き換えられたテーブルは次のようになり、incentiveID、recipientIDによってリンクされます

RedeemedID incentiveID recipientID timestamp
4

1 に答える 1

1

インセンティブによる従業員あたりの償還のカウントが必要な場合は、次のようなものを試すことができます

select a.recipientID,a.incentiveID,count(*)
  from redeemed a
 group by a.recipientID,a.incentiveID

すべての償還のカウントを追加する場合は、インセンティブテーブルの要素をGROUP BY句に含める必要があるため、現在のクエリにそれを含めることはできません。次のように、個人ごとの償還総額を求めるクエリを作成できます。

select a.receipientID, count(*)
  from redeemed a
 group by a.recipientID

次に、それを受信者テーブルに結合して、ユーザー名やその他の関連するユーザーごとの情報などを取得できます。

お役に立てば幸いです。

于 2012-09-06T13:22:34.047 に答える