我正在尝试形象化这种特定情况。考虑一位患者去医院进行定期检查。首先,他参观了内科,然后是耳鼻喉科、骨科和药房,另一次,当他参观医院时,他参观了内科、实验室、耳鼻喉科和药房。 每个患者在访问医院时都会访问某些科室。
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
如果您希望部门以特定顺序出现,则在 group_concat
中使用 order by
group_concat(department order by department)
关于php - 列出第二列的所有公共(public)值,后跟 mysql 中第一个值中的唯一名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31765695/