2016-07-20 24 views
2

の複数の行たとえば、私はここで最初の7行(7に限定されるものではなく、デモの目的で、)のためにのmysql - COUNTクエリ

ID Doctor Status 
1  Wooka  Approved 
2  Jamba  Approved 
3  Jamba  Approved 
4  Wooka  Approved 
5  Wooka  Approved 
6  Wooka  Approved 
7  Wooka  Approved 
. .   . 
. .   . 
. .   . 
99  

データを持っている私は、この

Doctor Count 
Wooka  5 
Jamba  2 
のような出力にそれをしたいです

私はCOUNTでそれを行う方法がわからないのですが()

SELECT COUNT(*) FROM table WHERE status='Approved' 

私は本当に何を私のようには柔軟にする方法任意のアイデアを持っていません尋ねた。

+1

は、GROUP BYにどのように見上げて –

答えて

0

あなたが行数が返さ制限するサブクエリでlimit句を使用して、countを行い、集計クエリでこのクエリをラップすることができます:

SELECT doctor, COUNT(*) 
FROM  (SELECT doctor 
      FROM  mytable 
      WHERE status = 'Approved' 
      ORDER BY id ASC 
      LIMIT 7 -- or some other number 
     ) t 
GROUP BY doctor 
+0

それは複数の医師で働くでしょうか? – Noobster

+0

@ Noobsterはい。それは 'group by'句があるところです – Mureinik

+0

こんにちは、はい、これは動作します。しかし、私はどのようにすべてのステータスをマップするのだろうか?承認済み、保留中、拒否された...と同じように、リストは続かれますか? – Noobster

2
SELECT 
    t.doctor, 
    COUNT(*) AS c 
FROM 
    table t 
WHERE 
    t.status = 'Approved' 
GROUP BY 
    t.doctor 
+0

これは「最初の7行」要件を処理しません。 – Mureinik