在这里,我遇到了一个我自己无法解决的问题。
我的问题是:
我需要 SELECT 列的计数,但我还需要在同一列上进行 GROUP BY。到目前为止我所尝试的并没有像我预期的那样返回。
这是我尝试过的:
'SELECT COUNT(user_id) AS total_donors
FROM ' . DONATION_SECURITY_TABLE .
" WHERE payment_status = 'Completed'
GROUP BY user_id"
这就是我的桌子的样子:
id user_id payment_status
1 20 Completed
2 33 Completed
3 44 Completed
4 20 Pending
5 33 Pending
6 44 Completed
7 20 Completed
如您所见,单个 user_id 可以多次处于 Pending 或 Completed 状态,但我希望我的查询返回3(基于上面的表示例)。
因此,如果付款状态已完成,我希望查询到 COUNT GROUPED user_ids。
想法?