我有一个像这样的表格视图
CREATE VIEW detail_sp AS (
SELECT ds.spesific_goal,k.pertanyaan,su.sub_unit,ds.skor FROM
detail_survey ds
LEFT JOIN
kuesioner k
ON
ds.nomor_soal=k.id
LEFT JOIN
sub_unit su
ON
k.id_subunit=su.id
);
像这样的代码的结构,
spesific_goal | pertanyaan | sub_unit |郭尔
样本数据输出
mysql> select * from detail_sp where spesific_goal = 1
-> ;
+---------------+---------------------------------------------------------------
----------------------+----------+------+
| spesific_goal | pertanyaan
| sub_unit | skor |
+---------------+---------------------------------------------------------------
----------------------+----------+------+
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 4 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 4 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 4 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 3 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 3 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 4 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 2 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
+---------------+---------------------------------------------------------------
----------------------+----------+------+
14 rows in set (0.00 sec)
如何使用skor
和pertanyaan
计算sub-units
参数?
因此,当问题和子单位相同时,可以获得平均分数计算。
如果我使用avg我希望结果像这样
mysql> select * from detail_sp where spesific_goal = 1
-> ;
+---------------+---------------------------------------------------------------
----------------------+----------+------+
| spesific_goal | pertanyaan
| sub_unit | skor |
+---------------+---------------------------------------------------------------
----------------------+----------+------+
| 1 | Dilakukan survei kepuasan pelanggan
| Niaga | 4 |
| 1 | Terdapat perjanjian pelayanan (Service Agreement) sebelum meng
gunakan jasa dari PLN | Niaga | 4 |
+---------------+---------------------------------------------------------------
----------------------+----------+------+
14 rows in set (0.00 sec)
skor来自avg。
答案 0 :(得分:1)
您需要avg
功能以及group by
,如下所示。
SELECT ds.spesific_goal,
k.pertanyaan,
su.sub_unit,
avg(ds.skor)
FROM detail_survey ds
LEFT JOIN kuesioner k ON ds.nomor_soal=k.id
LEFT JOIN sub_unit su ON k.id_subunit=su.id
GROUP BY ds.spesific_goal,
k.pertanyaan,
su.sub_unit;