php - 如何从表数据库中计算平均值
问题描述
我想从我的数据库中计算平均值。
例如,当我运行这样的 sql 查询时
SELECT user.nama_u AS Nama_Siswa,
nilai.nilai_n AS Nilai_Pelajaran
FROM nilai,
user
WHERE nilai.id_sw = user.id_u
AND user.pangkat_u = 'Siswa'
AND nilai.kelas_n = 'I'
ORDER BY user.nama_u DESC
我有这样的桌子
Nama_Siswa Nilai_Pelajaran
=============== ===============
Teuku Zul Hidayat 75
Teuku Zul Hidayat 60
Ferry Mulia Ramadhani 100
Ferry Mulia Ramadhani 80
Apri Sara Diwa 80
Apri Sara Diwa 70
如果我想显示 Nilai_Pelajaran 的平均值,我从上面的 sql 查询中修改了什么?
所以桌子一定是这样的
Nama_Siswa Average
=============== ===============
Teuku Zul Hidayat 67.5
Ferry Mulia Ramadhani 90
Apri Sara Diwa 75
解决方案
只需更改您的查询以使用聚合函数(在这种情况下AVG
)和GROUP BY
nama_u
:
SELECT user.nama_u AS Nama_Siswa, AVG(nilai.nilai_n) AS Nilai_Pelajaran
FROM nilai
JOIN user
WHERE nilai.id_sw = user.id_u AND user.pangkat_u = 'Siswa' AND nilai.kelas_n = 'I'
GROUP BY user.nama_u
ORDER BY user.nama_u DESC
推荐阅读
- ruby-on-rails - 红宝石猴子在飞行中修补
- parse-server - 我想将 Nuxt 与解析 javascript 客户端一起使用
- php - 如何在 PHP 中将 base64 字符串转换为 png 图像?
- postgresql - 从另一个表中选择随机 ID ....对 LATERAL JOIN 感到困惑
- javascript - 如何优化 API 获取以减少冗余
- flutter - 颤振位置网格元素
- css - Bootstrap 不使用 Webpack 应用 CSS
- python - Visual Studio Code Python 笔记本输出扩展?
- c# - 将 linq 类型方法与 IAsyncEnumerable 一起使用的正确方法是什么?
- node.js - 设置 Nodemailer 以使用 STARTLS 握手来保护电子邮件?