Postingan lainnya
Menampilkan nilai max dengan matakuliah berbeda menggunakan inner join
Saya ada permasalahan query untuk menampilkan nama mahasiswa, nama matakuliah dan nilai. Permasalahannya nama matakuliah tidak sesuai dengan nilainya.
MariaDB [mahasiswa]> select * from tabel_mahasiswa;
+--------------+----------------+
| id_mahasiswa | nama_mahasiswa |
+--------------+----------------+
| 1001 | Panji |
| 1002 | Mansur |
| 1003 | Asep |
+--------------+----------------+
3 rows in set (0.025 sec)
MariaDB [mahasiswa]> select * from tabel_matakuliah;
+---------------+-----------------+
| id_matakuliah | nama_matakuliah |
+---------------+-----------------+
| 101 | Algoritma |
| 102 | Aljabar Linear |
| 103 | Struktur Data |
+---------------+-----------------+
3 rows in set (0.000 sec)
MariaDB [mahasiswa]> select * from tabel_nilai;
+----------+--------------+---------------+-------+
| id_nilai | id_mahasiswa | id_matakuliah | nilai |
+----------+--------------+---------------+-------+
| 1000001 | 1001 | 101 | 85 |
| 1000002 | 1001 | 102 | 75 |
| 1000003 | 1001 | 103 | 70 |
| 1000004 | 1002 | 101 | 69 |
| 1000005 | 1002 | 102 | 55 |
| 1000006 | 1002 | 103 | 90 |
| 1000007 | 1003 | 101 | 73 |
| 1000008 | 1003 | 102 | 81 |
| 1000009 | 1003 | 103 | 61 |
+----------+--------------+---------------+-------+
9 rows in set (0.000 sec)
Input query yang udah saya coba tapi tidak sesuai.
MariaDB [mahasiswa]> select distinct nama_mahasiswa, nama_matakuliah, nilai from tabel_nilai inner join tabel_mahasiswa on tabel_nilai.id_mahasiswa = tabel_mahasiswa.id_mahasiswa join tabel_matakuliah on tabel_nilai.id_matakuliah = tabel_matakuliah.id_matakuliah where nilai =(select max(nilai)from tabel_nilai) group by nama_mahasiswa;
+----------------+-----------------+-------+
| nama_mahasiswa | nama_matakuliah | nilai |
+----------------+-----------------+-------+
| Mansur | Struktur Data | 90 |
+----------------+-----------------+-------+
MariaDB [mahasiswa]> select distinct nama_mahasiswa, nama_matakuliah, max(nilai) as nilai from tabel_mahasiswa inner join tabel_nilai on tabel_mahasiswa.id_mahasiswa = tabel_nilai.id_mahasiswa join tabel_matakuliah on tabel_nilai.id_matakuliah = tabel_matakuliah.id_matakuliah group by nama_mahasiswa;
+----------------+-----------------+-------+
| nama_mahasiswa | nama_matakuliah | nilai |
+----------------+-----------------+-------+
| Asep | Algoritma | 81 |
| Mansur | Algoritma | 90 |
| Panji | Algoritma | 85 |
+----------------+-----------------+-------+
Terima kasih untuk jawabannya.
0
Tanggapan
bolehkah saya meminta file sql nya
atau kamu coba dulu jangan menggunakan max(nilai) langsung ambil nilainya saja
https://github.com/prima18114519/Query-SQL/tree/master/mahasiswa
saya udah coba masih belum bisa mas. terimakasih sebelumnya.
coba share dump datanya gan