我试着想象这种特殊的情况。考虑一个病人去医院做定期检查。他先去看内科,然后去看耳鼻喉科、骨科和药房。另一次他去医院的时候,他去看内科和实验室以及耳鼻喉科和药房。
每一个病人在参观医院时都会去某些科室。

PatientName Department
Alice       INTERNAL
Alice       ENT
Alice       ORTHO
Alice       PHARMACY
Bob         Internal
Bob         ORTHO
Bob         PHARMACY

现在,我该如何根据独特用户使用这种格式访问的部门来获取cvs中的部门
INTERNAL, ENT, ORTHO, PHARMACY
INTERNAL, ORTHO, PHARMACY
SKIN, EYE, OPERATION, PHARMACY
INTERNAL, , ,
...
...
MEDICAL, NEURO, PSYCH, PHARMACY
...
...

哪一组规则(如sql查询)将以表格形式提供此输出?下载后我可以将其转换为csv。

最佳答案

您可以使用group_concat为每个用户检索以逗号分隔的部门列表。

select PatientName, group_concat(Department)
from mytable
group by PatientName

如果希望部门按特定顺序显示,请在order by中使用group_concat
 group_concat(department order by department)

关于php - 列出第二列的所有公共(public)值,后跟mysql中第一个值中的唯一名称,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31765695/

10-11 05:20