Say, in mysql, I have a column doctor and a column patient. One doctor can have multiple patients and one patient can have multiple doctors. Here is an example table:
| Doctor | Patient | 
|---|---|
| Carson | Alisson | 
| Carson | Alisson | 
| Carson | Alisson | 
| Carson | Becker | 
| Carson | Becker | 
| Daniel | Alisson | 
| Daniel | Alisson | 
| Daniel | David | 
I would like the code to produce a table which shows the doctor, his patient and how many times the patient appeared with this doctor. This is what it would look like:
| Doctor | Patient | Count(Patient) | 
|---|---|---|
| Carson | Alisson | 3 | 
| Carson | Becker | 2 | 
| Daniel | Alisson | 2 | 
| Daniel | David | 1 | 
So far, and because I am new to mysql, my code has produced a table that looks like this:
| Doctor | Patient | Count(Patient) | 
|---|---|---|
| Carson | Alisson | 5 | 
| Carson | Becker | 2 | 
| Daniel | David | 1 | 
As you can see, my code assigns a patient to one doctor. In this case, Alisson is assigned to Carson even though Alisson is a patient of Daniel as well.
Here is what the code looks like:
    select doctor, patient, count(*) from information
    group by patient
I assume that I get the wrong table because I am grouping by patient. However, in order to receive the desired table, I would need to group by both patient and doctor, which I do not know how to do. Can anyone help me?
Thank you!
Umesh
 
    