从同一个表中获取一对多关系中的数据

Gir*_*ar 0 sql

我有一个表,它包含4列:

Id|Hospital|   Doctor|patient
1     A        D1      P11
2     B        D6      P61
3     A        D2      P21
4     A        D1      P12
5     B        D7      P71
6     B        D6      P62
7     B        D6      P63

医生是医院独有的.他们不在其他医院工作.患者是医生独有的.他们不去看任何其他医生.每家医院都有多名医生.

如果您发现每位医生都有多名患者.

现在的问题是,我怎样才能让每位医生"只有一名患者"?它可以是记录中的任何患者.

我期待看到这样的事情:

 Hospital Doctor Patient
  A       D1      P11
  A       D2      P21
  B       D6      P61
  B       D7      P71

如何在上表中获取id,如:

id Hospital Doctor Patient
 1   A       D1      P11
 3   A       D2      P21
 2   B       D6      P61
 5   B       D7      P71

提前致谢

Eri*_*lje 6

像这样:

SELECT Hospital, Doctor, MAX(Patient)
FROM table
GROUP BY Hospital, Doctor
ORDER BY Hospital, Doctor
Run Code Online (Sandbox Code Playgroud)

既然你说你不关心哪个病人,我只使用MAX,但你也可以使用MIN或其他分组功能.