我基本上是在尝试查询一张表,看看谁可能在玩我的贝宝系统。
这个想法是我查询我的表以查看哪些付款失败,然后将失败次数加起来user_id
。非常简单的概念,我只是在努力解决如何做到这一点。
我的开始查询:
SELECT * FROM `paypal_ipn` WHERE initial_payment_status = 'Failed'
然后我想使用上面的查询,只打印出每payer_id
(一列)的总数。
这可能仅在 MySQL 中实现,还是我需要使用 PHP 脚本?
我基本上是在尝试查询一张表,看看谁可能在玩我的贝宝系统。
这个想法是我查询我的表以查看哪些付款失败,然后将失败次数加起来user_id
。非常简单的概念,我只是在努力解决如何做到这一点。
我的开始查询:
SELECT * FROM `paypal_ipn` WHERE initial_payment_status = 'Failed'
然后我想使用上面的查询,只打印出每payer_id
(一列)的总数。
这可能仅在 MySQL 中实现,还是我需要使用 PHP 脚本?
你基本上想做一个sqlGROUP BY
操作。我无法从问题中判断数据是否需要按名为user_id
or的列分组payer_id
。这些查询之一应该适合您:
SELECT user_id, count(*) FROM `paypal_ipn`
WHERE initial_payment_status = 'Failed'
GROUP BY user_id;
SELECT payer_id, count(*) FROM `paypal_ipn`
WHERE initial_payment_status = 'Failed'
GROUP BY payer_id;
这个怎么样:
Select payer_id, count(paypal_tranaction_id) from paypal_ipn where initial_payment_status = 'Failed' group by payer_id
您只需要在 上进行分组user_id
。所以查询看起来像:
SELECT user_id, count(*) FROM paypal_ipn WHERE initial_payment_status = 'Failed' GROUP BY user_id;
.
你可以做这样的事情;我添加了失败付款的总数,以向您展示您可以查询的其他有趣的事情(我不知道付款是否真的被调用payment
,请注意)。
SELECT payer_id,
COUNT(*) AS transactions,
SUM(payment) AS total
FROM `paypal_ipn` WHERE initial_payment_status = 'Failed'
GROUP BY payer_id;