2012-11-06 40 views
1

我基本上試圖查詢一個表,看看誰可能會遊戲我的貝寶系統。MySQL - SELECT IN - 計算結果中user_id的行數?

這個想法是我查詢我的表以查看哪些付款失敗,然後總計失敗數達user_id。非常簡單的概念,我只是在努力如何去做。

我開始查詢:

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

然後我想用上面的查詢,只是打印出每payer_id(列)共。

這是可能的在MySQL單獨或我需要使用PHP腳本?

+1

對不起,它是'payer_id'或'user_id'?我認爲這是後者,但如果沒有,恐怕我的回答是錯誤的。 – LSerni

回答

3

你基本上想要做一個sql GROUP BY操作。我無法從數據是否需要按照名爲user_idpayer_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; 
+1

+1簡單的錢... – Bohemian

+0

@Bohemian:呵呵,儘管是最快的槍! – Asaph

0

如何:

Select payer_id, count(paypal_tranaction_id) from paypal_ipn where initial_payment_status = 'Failed' group by payer_id 
0

你只需按上user_id。所以查詢將如下所示:

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

0

你可以這樣做;我添加了失敗的付款總額,向您展示其他有趣的東西,您可以查詢(我不知道付款是否真的叫payment,介意)。

SELECT payer_id, 
    COUNT(*) AS transactions, 
    SUM(payment) AS total 
FROM `paypal_ipn` WHERE initial_payment_status = 'Failed' 
GROUP BY payer_id;