如何计算在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();
}
有人可以帮助把所有这些写在一个查询中?
感谢
答
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
感谢它的工作 –
您可以请详细说明模式 –
@ManojMohan每个用户都有一张优惠券,其他人可以通过该优惠券注册(5位数字)。我想通过其他人注册的用户优惠券为每个用户计算分数 –
请参阅https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-我想成为一个非常简单的sql查询 – Strawberry