1

我基本上是在尝试查询一张表,看看谁可能在玩我的贝宝系统。

这个想法是我查询我的表以查看哪些付款失败,然后将失败次数加起来user_id。非常简单的概念,我只是在努力解决如何做到这一点。

我的开始查询:

SELECT * FROM `paypal_ipn` WHERE initial_payment_status =  'Failed'

然后我想使用上面的查询,只打印出每payer_id(一列)的总数。

这可能仅在 MySQL 中实现,还是我需要使用 PHP 脚本?

4

4 回答 4

3

你基本上想做一个sqlGROUP BY操作。我无法从问题中判断数据是否需要按名为user_idor的列分组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;
于 2012-11-06T19:04:11.470 回答
0

这个怎么样:

Select payer_id, count(paypal_tranaction_id) from paypal_ipn where initial_payment_status = 'Failed' group by payer_id
于 2012-11-06T19:05:06.490 回答
0

您只需要在 上进行分组user_id。所以查询看起来像:

SELECT user_id, count(*) FROM paypal_ipn WHERE initial_payment_status = 'Failed' GROUP BY user_id;.

于 2012-11-06T19:05:37.490 回答
0

你可以做这样的事情;我添加了失败付款的总数,以向您展示您可以查询的其他有趣的事情(我不知道付款是否真的被调用payment,请注意)。

SELECT payer_id,
    COUNT(*) AS transactions,
    SUM(payment) AS total
FROM `paypal_ipn` WHERE initial_payment_status = 'Failed'
GROUP BY payer_id;
于 2012-11-06T19:07:48.327 回答