0

次のような構造の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 のカウントのみを返します。

4

1 に答える 1

1

特定のクライアントでフィルタリングする場合は、WHEREフィルタを追加するだけです。clientIdそうでない場合は、次のものを削除できますand clientid = 12345

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

デモで SQL Fiddle を参照してください

于 2013-05-29T21:51:51.507 に答える