在 MySQL 连接表中使用 GROUP BY

Fan*_*mad 2 mysql group-by left-join jointable

我在两个表之间使用 JOIN 时遇到问题,这是我的表:

病人表

........................................
uid | no_mr     | name
........................................
1   | 1101      | Eko
2   | 1102      | John Doe
Run Code Online (Sandbox Code Playgroud)

访问表

..............................................
uid | vcode         | patient_id
..............................................
1   | V-20130725143528  | 1
2   | V-20130726132308  | 2
3   | V-20130726142907  | 2
4   | V-20130726144436  | 1 
Run Code Online (Sandbox Code Playgroud)

如何根据访问表显示患者数据,并按visit.uid降序排列。

这是我的查询,

SELECT patient . * , visit.uid
FROM patient
LEFT JOIN visit ON patient.uid = visit.patient_id
WHERE patient.uid >1
GROUP BY patient.no_mr
ORDER BY visit.uid DESC 
LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)

当我运行该查询时,我有这个值。

.......................................
uid | no_mr     | name
.......................................
2   | 1102      | John Doe
1   | 1101      | Eko
Run Code Online (Sandbox Code Playgroud)

我想要这样,显示有新访问数据的患者数据。

.......................................
uid | no_mr     | name
.......................................
1   | 1101      | Eko
2   | 1102      | John Doe
Run Code Online (Sandbox Code Playgroud)

请帮忙,谢谢。。

M K*_*aid 5

尝试这个

SELECT q.* FROM (
SELECT patient . * , visit.uid AS visit_uid
FROM patient
LEFT JOIN visit ON patient.uid = visit.patient_id
ORDER BY visit_uid DESC 

) q GROUP BY q.uid ORDER BY q.visit_uid DESC 

LIMIT 0 , 10
Run Code Online (Sandbox Code Playgroud)

小提琴