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