根据两个id获取计数

时间:2012-09-06 11:24:36

标签: mysql sql sql-server

如何根据incentiveID和recipientID从我的兑换表中取回'count',并将其添加到以下查询中。

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

下面的查询会带回收件人和奖励数据。我想对此进行扩展并对收件人兑换的次数进行“计数”。即redeemCount

Redeemed Table看起来像这样,并通过incentiveID,recipientID

链接
RedeemedID incentiveID recipientID timestamp

1 个答案:

答案 0 :(得分: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

然后,您可以将其重新加入收件人表格,以获取用户名或其他相关的每用户信息。

希望这有帮助。