如何计算在SQL用户优惠券 - mysql的

问题描述:

嗨,我是新手,在MySQL如何计算在SQL用户优惠券 - mysql的

我想算用户优惠券令牌被其他人使用的应用程序使用

我目前使用的是PHP循环来计算有多少人使用用户令牌

是否有任何方法可以在一个查询中执行此操作,以返回所有用户及其使用的优惠券号码?我想是这样的SELECT user.id , Count(payment.id) from ..

请注意,我不使用user.id = ?

我循环这个功能实现每个用户的优惠券使用数量太慢

public function countInvitationByUserID($id) { 
     $query = $this->db->query(" 
      SELECT * FROM payment, coupon, users 
      WHERE payment.payment_coupon_id = coupon.id 
      AND coupon.coupon_token = users.user_coupon_token 
      AND users.id = ? 
      AND payment.payment_status = 1", array($id) 
     ); 
     return $query->num_rows(); 
    } 

有人可以帮助把所有这些写在一个查询中?

感谢

+0

您可以请详细说明模式 –

+0

@ManojMohan每个用户都有一张优惠券,其他人可以通过该优惠券注册(5位数字)。我想通过其他人注册的用户优惠券为每个用户计算分数 –

+1

请参阅https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-我想成为一个非常简单的sql查询 – Strawberry

SELECT 
    US.user_id, COUNT(CO.id) 
FROM 
    payment PT 
    INNER JOIN coupon CO ON PT.payment_coupon_id=CO.id 
    INNER JOIN users US ON US.user_coupon_token=CO.coupon_token 

WHERE 
    PT.payment_status = 1 
GROUP BY US.user_id; 

尝试上面的查询。

希望这会帮助你。

+0

感谢它的工作 –