【发布时间】:2015-01-03 01:05:38
【问题描述】:
假设我有如下表 patients:
+------------+------------+-----------+----------------+
| id_patient | first_name | last_name | recommended_by |
+------------+------------+-----------+----------------+
| 1 | Joe | Bronson | NULL |
| 2 | Jack | Jackson | 1 |
| 3 | Jon | Jonson | 1 |
+------------+------------+-----------+----------------+
recommended_by 列是一个外键,表示患者表中的另一行。我想计算每个患者给出的建议数量。我使用了这个查询:
SELECT recommended_by, count(recommended_by)
FROM patients
GROUP BY recommended_by;
这给出了这个结果:
+----------------+-----------------------+
| recommended_by | count(recommended_by) |
+----------------+-----------------------+
| NULL | 0 |
| 1 | 2 |
+----------------+-----------------------+
因此它返回一个患者 ID 和它的推荐计数。但是,我想包括该患者的名字和姓氏。如何创建查询以返回提出建议的所有患者的列表以及他们提出的数量?
例如上面的结果会返回:
| id_patient | first_name | last_name | recommendations |
+------------+------------+-----------+-----------------+
| 1 | Joe | Bronson | 2 |
【问题讨论】:
-
每个推荐用逗号分隔?
-
这个问题能再清楚一点吗?
-
好的,你不明白哪一部分?
-
“我如何使用推荐的值从我的患者表中提取名字和姓氏?” – 使用子查询或 JOIN。
-
如果我要问这样的问题,我会根据提供的数据集提供所需结果的示例。