mysql - 使用特定变量计算同一查询中的两列

时间:2013-05-29 21:49:57

标签: mysql

我的mysql数据库结构如下:

transactions

id  paymentid clientid status
------------------------------
1   001       12345      0
2   002       11223      1
3   003       12345      4
4   004       12345      4

在mysql中运行查询的最有效方法是告诉我某个clientid付款状态为4的次数?

喜欢:

select clientid, count(*) 
where status = 4 

但只返回特定clientid的计数。

1 个答案:

答案 0 :(得分:1)

如果您想要按特定客户端进行过滤,则只需为WHERE添加clientId过滤器。如果没有,那么您可以删除and clientid = 12345

select clientid, count(*) 
from transactions
where status = 4 
  and clientid = 12345
GROUP BY clientId;

请参阅SQL Fiddle with Demo